无法找到localdb nuget包

时间:2015-06-26 21:04:44

标签: visual-studio-2013 nuget azure-devops

当我在我的本地VS2103机器上构建(F5调试)一个新的默认项目(Web应用程序)时,一切运行正常。

当我尝试在Visual Studio Online中构建相同的项目时,我收到构建错误:

  

无法找到版本' 2.0.1'包' Microsoft.AspNet.Providers.LocalDB'。

     

从工具NuGet.exe返回意外的退出代码1

package.config文件包含以下行:

<package id="Microsoft.AspNet.Providers.LocalDB" version="2.0.1" targetFramework="net40" />

当我在packages.config文件中将localdb版本更改为2.0.0时,构建在vso上运行正常。这个版本在nuget.org上列出。

我也看到在本地vs2013机器上,存在localdb软件包的2.0.1版本。但是,nuget.org没有列出这个版本。

如何让NuGet包含更新的2.0.1版本?或者,如何从我的本地vs2013机器获得2.0.1版本以包含在vso构建中?

1 个答案:

答案 0 :(得分:7)

正如您正确指出的那样,NuGet中不存在Microsoft.AspNet.Providers.LocalDB版本2.0.1。如果您在VS2013中创建一个新应用程序并将该引用添加到packages.config,该解决方案仍将构建,但它将无法下载该程序包。您可以通过右键单击解决方案并选择&#34; Manage NuGet Packages ...&#34;来查看此信息。顶部会有一个标语,说某些依赖项无法下载。

如果您确定在解决方案中需要此软件包,则修复方法是将引用更改为2.0.0。

<强>更新

我仔细看了一眼。以前我用控制台应用程序对此进行了测试,但看起来你是对的 - 在创建.NET 4.0 Web窗体项目时,会向NuGet包Microsoft.AspNet.Providers.LocalDB 2.0.1版添加一个引用。如果您随后删除packages文件夹(解决方案文件旁边)并构建,您将看到我上面提到的错误,因为NuGet无法恢复包。我猜测项目模板本身存在问题,或者Microsoft出于某种原因从公共NuGet中删除了2.0.1版本。无论哪种方式,解决方案仍然是相同的;取决于NuGet中可用的版本。