假设我有一个“主”C# 项目,它使用 NuGet 来管理其第三方依赖项。
现在假设我在主项目旁边创建一个单元测试项目,其中包含主项目作为参考。
不幸的是,我似乎需要重新添加通过主项目中的 nuget 包含的依赖项,以便使用它们为单元测试项目中的单元测试编写代码。
我的问题是:有没有办法在测试项目中自动包含“主要”nuget 引用?
看来我需要重新添加通过主项目中的 nuget 包含的依赖项,以便使用它们为单元测试项目中的单元测试编写代码。
这是因为 Visual Studio / MSBuild 试图变得聪明,并且只将引用引入到它检测到项目“main”所需的项目单元测试中。它这样做是为了避免项目单元测试中的间接引用污染。您可以参考接受的答案 https://stackoverflow.com/questions/1132243/msbuild-doesnt-copy-references-dll-files-if-using-project-dependencies-in-sol了解更多详情。
我的问题是:有没有办法在测试项目中自动包含“主要”nuget 引用?
简单的答案是肯定的,但不确定这个方法对你是否有效。我把它贴在这里,希望能给你一些帮助。
You can 复制包裹清单您想要从“主”项目中的 package.config 添加到 UI 测试中到 UI 测试项目中的 package.config, like:
<package id="EntityFramework" version="6.1.3" targetFramework="net452" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" />
<package id="NUnit" version="3.7.1" targetFramework="net452" />
然后,当您构建 UI 测试时,nuget 将恢复这些包,您需要做的是在包管理器控制台中使用 NuGet 命令行:
Update-Package -Reinstall -ProjectName [name of your target project]
强制将包引用重新安装到 UI 测试项目中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)