Visual studio 2017 奇怪的NuGet行为(在某些.csproj文件中有效,但在其他文件中无效)

Visual studio 2017 奇怪的NuGet行为(在某些.csproj文件中有效,但在其他文件中无效),visual-studio-2017,nuget,Visual Studio 2017,Nuget,所以我们广泛使用NuGet,在你告诉我这很疯狂之前,我已经知道了NuGet的大部分特性,并且在很大程度上它做了我们想要的事情。所以请不要说“停止使用NuGet作为解决方案” 这就是问题所在。我们为每个NuGet软件包生成两个版本—一个调试版本包含.pbd文件,这样我们可以在调试期间跟踪到程序,另一个版本没有.pbd,我们切换到接近发布版本。因此,我刚刚对所有.csproj文件从发行版到调试版做了大量更改,我的一些项目正确地使用了调试版本,但有些项目仍然指向发行版。我已经关闭了项目(和Visual

所以我们广泛使用NuGet,在你告诉我这很疯狂之前,我已经知道了NuGet的大部分特性,并且在很大程度上它做了我们想要的事情。所以请不要说“停止使用NuGet作为解决方案”

这就是问题所在。我们为每个NuGet软件包生成两个版本—一个调试版本包含.pbd文件,这样我们可以在调试期间跟踪到程序,另一个版本没有.pbd,我们切换到接近发布版本。因此,我刚刚对所有.csproj文件从发行版到调试版做了大量更改,我的一些项目正确地使用了调试版本,但有些项目仍然指向发行版。我已经关闭了项目(和VisualStudio),重新打开并重建了所有内容,清理了.obj和bin文件夹,当我查看一些包的属性时,它们仍然指向发布版。您可以在下图中看到,第一个(顶部文件)GEARVIEW QC.csproj在.csproj和packages.config文件中都指向Debug,并且属性正确地显示了调试版本,但对于其他文件(本例中为QCImage),引用是错误的。这到底是怎么回事?有什么想法吗

奇怪的NuGet行为(在某些.csproj文件中有效,但在其他文件中无效)

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

  • 首先,检查引用节点上是否存在任何构建错误或黄色标记
  • 其次,确保属性中的路径用于引用
    Pacsgear.Debug.DICOMLIB
    ,而不是
    Pacsgear.Release.DICOMLIB
  • 尝试卸载nuget软件包并重新安装,检查它是否适合您
希望这有帮助