Mir*_*dak 6 .net visual-studio nuget
我在NuGet(最近的)和VS2012上遇到了一个奇怪的问题.我有一个启用了NuGet包管理的多项目解决方案,只要我使用Debug | AnyCPU配置,它就可以正常编译和运行.一旦我切换到Release | AnyCPU,似乎所有的NuGet程序集引用都消失了,应用程序显然无法编译.奇怪的是,我可以在NuGet Manager UI中看到所有正确项目的所有引用.
你有没有经历过类似的问题,你知道如何解决它吗?
重建没有帮助.设置了Debug配置时设置了NuGet引用.
再一次,我正在回答我自己的问题......
关键是,我正在改变解决方案的结构并移动了一些项目.这意味着,每个项目的.csproj文件中都会出现无效的相对路径.哪个好,只要你不改变我所做的结构深度.
由于未知原因,使用无效路径调试构建很好(可能会以其他方式收集程序集,因为我手动删除了bin和obj文件夹并清除了解决方案等...).但是对于发布版本,它试图从(错误引用的)packages /目录中获取程序集.
NuGet流程的任何部分都没有发现/报告此问题,并且在所有UI控制台中,甚至在NuGet PowerShell控制台本身中,一切似乎都没问题.
解决方案很明显.编辑受影响项目的.csproj文件(我实际上是通过过滤警告并查明,只有一些程序集受到影响而且这些程序来自主解决方案目录之外)来引导问题,并将程序集引用的路径更改为正确的NuGet程序包夹.
旁注:这是NuGet(可能还有VS)引用处理的问题.它试图使用一些相对路径而不是添加一些变量,如$ {SOLUTION_ROOT}或$ {NUGET_ROOT}或$ {PACKAGES_FOLDER}.如果它是通过变量替换完成的,那么可以在多个解决方案中使用相同的项目,而不会破坏NuGet包配置.至少我还没有找到在多个解决方案中共享同一个项目文件夹的方法.
| 归档时间: |
|
| 查看次数: |
1734 次 |
| 最近记录: |