我们开发了一个包含约35个项目的大型解决方案,使用VS 2010,现在我们考虑迁移到VS 2012 Ultimate。
我将解决方案文件转换为VS 2012,总体上一切都正常。
但是每当我打开该解决方案时,会在其中一个名为A的项目上收到一些警告: “无法引用X项目” “无法引用Y项目” ... 其中A具有对X和Y的项目引用。 当我构建解决方案时,会出现找不到每个相应DLL元数据的错误。
当我查看解决方案资源管理器中的引用时,它们带有黄色警告符号。只要我简单地单击该引用,警告就会消失,图标看起来正常。然后我就可以编译而没有错误!
这个问题每次打开解决方案时都会出现,受影响的项目始终相同。
有其他人遇到过这种奇怪的行为吗? 删除并重新添加项目引用没有帮助...
提前感谢您。
编辑:我检查了引用项目的csproj文件,并惊讶地发现所有具有上述问题的项目引用GUID都是小写字母编写的,而其他项目则是大写字母。
任何想法?
但是每当我打开该解决方案时,会在其中一个名为A的项目上收到一些警告: “无法引用X项目” “无法引用Y项目” ... 其中A具有对X和Y的项目引用。 当我构建解决方案时,会出现找不到每个相应DLL元数据的错误。
当我查看解决方案资源管理器中的引用时,它们带有黄色警告符号。只要我简单地单击该引用,警告就会消失,图标看起来正常。然后我就可以编译而没有错误!
这个问题每次打开解决方案时都会出现,受影响的项目始终相同。
有其他人遇到过这种奇怪的行为吗? 删除并重新添加项目引用没有帮助...
提前感谢您。
编辑:我检查了引用项目的csproj文件,并惊讶地发现所有具有上述问题的项目引用GUID都是小写字母编写的,而其他项目则是大写字母。
<ProjectReference Include="..\Presentation.Net\Presentation.Net.csproj">
<Project>{04004c6b-76c8-4f2d-9fcf-5a866bb80fd4}</Project>
<Name>CMS.Presentation.Net</Name>
</ProjectReference>
在解决方案中,GUID是大写的:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Presentation.Net", "Presentation.Net\Presentation.Net.csproj", "{04004C6B-76C8-4F2D-9FCF-5A866BB80FD4}"
任何想法?