我们有两个独立的.NET解决方案:
这里面临的挑战是,应该有一种方式将我们最新的NuGet软件包自动安装到产品测试解决方案中,最好是在构建此产品测试解决方案期间.
基于类似问题的想法,我在配置产品测试解决方案方面做到了这一点:
$(SolutionDir).nuget\nuget update -prerelease $(ProjectDir)packages.config.这让我可以在构建期间引入最新版本的NuGet包.我目前使用上面的场景使用Visual Studio运行本地构建,使用TeamCity运行无人参与的构建.该解决方案似乎第一眼就适用于这两种情况,但实际上它并没有产生预期的结果:当构建产品测试解决方案时,在bin目录中我没有获得最新版本的DLL,只有最新版本-1版本.
问题是虽然nuget update命令按预期更新了所有内容,包括文件packages.config和.csproj文件,但它们的新内容不会被构建选中,因此 - 正如我的猜测 - 文件中的HintPath设置.csproj仍然反映了"构建前"状态因此旧的DLL被复制到bin目录中.我假设.csproj文件只处理一次:在触发预构建事件之前,预构建事件所做的更改将被忽略,直到下一次构建.
我考虑了以下解决方案:
nuget update命令,我的上述解决方案可能会工作.有人想出如何在构建期间自动将NuGet包更新到最新版本?