我们有一个 VS2008 解决方案,我注意到发生了一些奇怪的事情:
某些项目引用同一解决方案中定义的其他项目(作为项目引用添加)。这是前一段时间完成的。
直接从 VS 构建效果很好。
从 MSBUILD 构建失败。
我已删除项目引用并重新添加它,并且我注意到项目的 GUID 已更改。现在可以使用 MSBUILD 进行构建了。
问题是,我现在必须检查所有项目并验证这一点。
而且,我不知道为什么会发生这种情况(为什么项目 GUID 与以前不同,并且不确定这种情况是否会再次发生)。
这可能是什么原因造成的?
我也在 Visual Studio 2013 中看到了这个问题,并且它不需要发生源代码管理集成。
当我在多个解决方案中拥有相同的项目时,我偶尔会遇到这种情况,每个解决方案对该项目使用不同的 GUID,并相应地更新项目。解决方案是手动修改 .sln 文件以使它们同步。这个答案归功于唐春生。
首先使用记事本打开解决方案文件 (.sln),然后查看其中的项目引用。格式是这样的:
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsApplication1", "WindowsApplication1\WindowsApplication1.csproj", "{9378D255-CE38-45CD-82FA-A1EBFB86FD6C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary1", "ClassLibrary1\ClassLibrary1.csproj", "{DE374096-FF44-4FDF-B248-C767039B4175}"
EndProject
每个项目的第二个 GUID 是对共享项目的引用。
要解决该问题,请为您的共享项目选择一个 GUID;确保打开它的所有解决方案在其解决方案文件中都具有该单个 GUID,从而具有相同的 GUID。 (进行这些更改之前请备份您的文件)
https://social.msdn.microsoft.com/Forums/en-US/1d632940-cc1d-49d5-a64c-d3e999216cbd/cant-avoid-the-projectguid-from-being-changed-in-csproj-file?forum=沙皮德 https://social.msdn.microsoft.com/Forums/en-US/1d632940-cc1d-49d5-a64c-d3e999216cbd/cant-avoid-the-projectguid-from-being-changed-in-csproj-file?forum=csharpide
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)