NuGet安装后,X.PagedList.MVC命名空间不可用

时间:2016-12-22 13:32:58

标签: asp.net-mvc nuget nuget-package pagedlist

我试图从PagedList切换到X.PagedList。我已经使用NuGet卸载了PagedList和PagedList.Mvc包,然后安装了X.PagedList和X.PagedList.Mvc。

当我更新自己的观点时,我发现自己陷入了一种奇怪的境地:我似乎无法像the example那样详细地引用PagedList.Mvc命名空间:

@using X.PagedList.Mvc;
@using X.PagedList;

在Visual Studio中和调试时,这会出现以下异常:

  

类型或命名空间名称' Mvc'在命名空间中不存在   ' X.PagedList' (你错过了一个程序集引用吗?)

顺便说一句,如果我放弃using,我会按预期获得有关缺失定义的例外情况。

NuGet包有问题吗?有没有办法手动将程序集引用添加到通过NuGet安装的程序包?

1 个答案:

答案 0 :(得分:4)

所以,最后我确实找到了一种让这个工作起来的黑客方法......

我需要做的就是手动添加对X.PagedList.Mvc.dll的引用。奇怪的是,它出现在packages目录(.\packages\X.PagedList.Mvc.5.3.0.5300\lib\net46)中,看起来是一个有效的包文件。

不确定为什么这不会自动发生,但我怀疑是因为与旧的PagedList.Mvc包有些冲突。

将这个问题保持开放一两个星期以防任何人可以权衡一些更具洞察力的事情。

更新:上述方法在本地运行良好,但在部署测试时失败。这促使更多的挖掘和解决方案让NuGet正常工作。

我使用NuGet package explorer来查明X.PagedList.Mvc的目标是.NET框架的更新版本,而不是我添加它的项目(4.6 vs 4.5)。有点失望的是安装没有更有帮助地失败,但至少它现在排序了。