奇怪的NuGet行为(适用于某些.csproj文件,但在其他文件中不起作用)

时间:2018-05-01 22:07:32

标签: visual-studio-2017 nuget

所以我们广泛使用NuGet,在你告诉我疯了之前我已经知道了NuGet的大部分特性,并且大多数情况下我们用它做了我们想要的事情。所以请不要说"停止使用NuGet作为解决方案"!

所以这就是问题所在。我们为每个NuGet包生成两个版本 - 一个包含.pbd文件的Debug版本,以便我们可以在调试期间跟踪程序,以及一个没有我们切换到接近发布的.pbd的Release版本。所以我只是对所有.csproj文件进行了大规模的更改,从Release发回到Debug,我的一些项目正在使用调试版本,但有些仍指向发布版本。我关闭了项目(和Visual Studio)并重新打开并重新构建了所有内容并清理了.obj和bin文件夹,当我查看某些软件包的属性时,他们仍然指向Release。您可以在下面的图片中看到第一个(顶层文件)GEARVIEW QC.csproj指向.csproj和packages.config文件中的Debug,属性正确显示Debug版本,但与其他(本例中为QCImage)引用是错误的。到底发生了什么事?有什么想法吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

  

奇怪的NuGet行为(适用于某些.csproj文件但不适用于其他文件)

这确实是一种非常奇怪的行为。我创建了两个包(Debug,Release),但没有重现这个问题。要解决此问题,您可以尝试以下步骤:

  • 首先,检查Reference节点上是否有任何构建错误或黄色标记。
  • 其次,请确保属性中的路径仅供参考Pacsgear.Debug.DICOMLIB而非Pacsgear.Release.DICOMLIB
  • 尝试卸载nuget软件包并重新安装,检查它是否适合您。

希望这有帮助。