【问题标题】:X.PagedList.MVC namespace not available following NuGet installNuGet 安装后 X.PagedList.MVC 命名空间不可用
【发布时间】:2017-05-08 03:40:43
【问题描述】:

我正在尝试从 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 安装的包?

【问题讨论】:

  • 您正在开发 asp.net 核心应用程序吗?该文档似乎指定这不适用于 .net 核心。我对示例应用程序进行了同样的尝试,一切似乎都运行良好。
  • 我不这么认为,但我不能断然这么说。查看其他 NuGet 包,我看到的是 Microsoft.AspNet,而不是任何看起来可能是 .net 核心的东西。此外,目标框架设置为 .NET Framework 4.5。我怎么能确定呢?

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


【解决方案1】:

所以,最后我确实找到了一个 hacky 方法来让它工作......

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

不知道为什么这没有自动发生,但我怀疑这是由于与旧的 PagedList.Mvc 包发生冲突。

将这个问题搁置一两个星期,以防有人能提出更深入的意见。


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

我使用NuGet package explorer 发现X.PagedList.Mvc 的目标是.NET 框架的更新版本,而不是我添加到的项目(4.6 与4.5)。有点失望,安装失败并没有带来更多帮助,但至少现在已经排序。

【讨论】:

    猜你喜欢
    • 2023-02-26
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 2015-05-21
    • 2022-11-10
    相关资源
    最近更新 更多