为什么Nuget在构建项目时不会自动添加缺少的dll引用

时间:2017-05-18 03:41:25

标签: .net visual-studio-2015 nuget nuget-package-restore

我是Nuget的新手,想知道如何将它融入我的工作项目中。我打包了几个dll并创建了一个本地nuget feed。我将它添加到我的visual studio中,我看到它包含了所有的包。我确保在Visual Studio中构建期间单击“自动检查缺少的包”#39;并允许NuGet下载丢失的软件包'选项,但是当我构建我的项目时,它不会自动添加缺少的dll引用。我还尝试了恢复nuget包'当我右键单击我的解决方案时选项,但它只是告诉我,即使我没有看到它,一切都已恢复。另外,我读到它假设要创建一个.nuget,nuget.target和一个nuget.config,但我不能在我的解决方案中看到它。有人能告诉我,我做错了什么或错过了什么?以及我如何解决这个问题。

我试图在Visual Studio 2015中执行此操作,但稍后会在以前的版本中尝试此操作。

1 个答案:

答案 0 :(得分:1)

  

有人可以告诉我,我做错了什么或错过了什么?以及我如何解决这个问题。

首先,正如Jon评论的那样,您应该确保将软件包添加到项目中。您可以Package Manager ConsoleManage NuGet Packages UI

执行此操作

其次,如果在将软件包安装到项目后仍然存在此问题,则应在软件包管理器控制台中使用NuGet命令行:

Update-Package -reinstall

强制将包引用重新安装到项目中。因为NuGet Restore仅恢复packages目录(\ packages文件夹)中的文件,但不会恢复项目中的文件或修改项目。

  

我读到它假设要创建一个.nuget,nuget.target和一个nuget.config但我在我的解决方案中看不到它。

此还原方法适用于使用 NuGet 2.6及更早版本进行MSBuild集成还原,使用 NuGet 2.7及更高版本,Visual Studio会在默认情况下自动还原缺少的包。一个构建。清除工具>可以更改此行为选项> [NuGet]包管理器>一般>在Visual Studio中构建期间自动检查缺少的包。

由于您使用的是Visual Studio 2015,因此NuGet的默认版本为3.x,该恢复方法不适用于您的问题,只需确保在Visual Studio中单击“在构建期间自动检查缺少的包” #39;并允许NuGet下载丢失的软件包'选项。