【问题标题】:issues for NuGet after migrating a c# project迁移 c# 项目后 NuGet 的问题
【发布时间】:2014-11-01 19:30:33
【问题描述】:

我正在尝试将一个项目迁移到我的 Visual Studio 2012 中。

在管理 NuGet 包时,我遇到了这个问题:

“此解决方案中缺少一些 NuGet 包。单击以从您的在线包源恢复”...但是当我单击恢复按钮时,出现此问题:

“尝试恢复包时出错:找不到包'Microsoft.AspNet.WebApi'的版本'4.1.0-alpha-121112'。”

我正在使用 .NET Framework 4

我该如何解决?

提前谢谢....

【问题讨论】:

    标签: asp.net visual-studio-2012 nuget nuget-package nuget-package-restore


    【解决方案1】:

    问题是 NuGet.org 上不存在包 Microsoft.AspNet.WebApi 的版本“4.1.0-alpha-121112”。它在 ASP.NET Web Stack Nightly 包源的MyGet 上也不可用。所以 NuGet 无法恢复它,因为它不再可用。

    查看Symbol Source,看起来这个 NuGet 包曾经可以从 MyGet 上的 ASP.NET Web Stack Nightly 包源获得,但它似乎不再可用。我怀疑他们已经从那个 MyGet 包源中删除了旧包。

    除非您能找到原始 NuGet 包,否则您必须手动删除 NuGet 包引用,方法是编辑项目文件和 packages.config 文件,然后重新安装存在的版本。

    【讨论】:

    • 谢谢马特,你能描述一下如何删除 NuGet 包引用,以及如何编辑这些文件吗?我可以安装哪个版本的 Microsoft.AspNet.WebApi?
    • 您可以编辑 packages.config 文件并删除 Microsoft.AspNet.WebApi 引用。还要编辑 .csproj 并从 packages/Microsoft.AspNet.WebApi.4.1.0-alpha-121112 目录中删除任何引用文件的内容。您可能还会遇到其他问题,因为 Microsoft.AspNet.WebApi 依赖于其他可能已从 NuGet 中消失的 alpha NuGet 包。我可能会考虑安装最接近的 Microsoft.AspNet.WebApi 4.0.30506。如果您的原始项目确实编译了,我会考虑使用原始 NuGet 包并将它们复制到您的 NuGet 缓存中。
    【解决方案2】:

    1) 确保升级到最新的 NuGet。

    2) 确保您正在执行包还原“正确的方式”http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

    这应该可以解决问题。

    如果仍然无法解决,您可以查看Rightway to migrate

    【讨论】:

    • 感谢您的回复,但没有任何反应!!!我尝试迁移的项目在“MyProject/yui.compressor”文件夹中包含一个 .negut 文件夹。如果我删除它,它将不会在 vs2012 中打开项目,因为在 *.csproj 中有这一行:“”。我该如何解决这个问题?我要疯了!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 2018-06-14
    相关资源
    最近更新 更多