0

我正在为.NET项目使用mspec(machine specification)单元测试框架。没有家属的Nuget包

我用nuget获得所有必需的软件包。

有一个特定的包,这不是代码的一部分。它是mspec的“控制台”应用程序,用于从命令行运行VS外部的单元测试。当我使用Nuget来安装它时,Nuget不会将它添加到Test项目中的普通“packages.config”文件中。 它将它添加到“.nuget”文件夹中存在的“packages.config”文件夹中。

但是,当我的同事打开项目和建立,他的VS没有得到该包。

如何改变这种情况,强制VS自动获取包?

+0

答案能解决您的问题吗?如果没有,请让我们来了解关于这个问题的最新信息?谢谢。 –

回答

1

Nuget不会将它添加到Test项目中的正常“packages.config”文件中。它将它添加到“.nuget”文件夹中存在的“packages.config”文件夹中。

那是因为你正在使用的NuGet 2.7或更高版本以及有一种仍然被老包配置的恢复方法的解决方案“的MSBuild集成恢复”。这会导致构建失败,并显示错误,指出您没有同意恢复软件包。 Visual Studio将跳过自动包恢复。

如何改变这种情况,强制VS自动获取包?

要解决这个问题,你可以按照下面的步骤:

  1. 关闭Visual Studio来避免潜在的文件文件锁定和冲突。

  2. 如果使用TFS:a。从解决方案的.nuget文件夹中删除nuget.exe和nuget.targets,并从解决方案工作区删除这些文件。一个。使用disableSourceControlIntegration设置保留nuget.config,如Omitting packages with Team Foundation Version Control中所述。

  3. 如果不使用TFS:a。从解决方案和解决方案工作区中删除.nuget文件夹。

  4. 编辑解决方案中的每个项目文件,删除<RestorePackages>元素,并删除对nuget.targets文件的任何引用。有关更多详细信息,请参阅Migrating to automatic restore

相关问题