最近,在我一直在研究的一些解决方案上,Configuration Manager对话框显示“Configuration”和“Platform”的空字段,并且“Build”始终未选中。更改值并保存配置无法解决问题。
这不会发生在所有解决方案上(例如,创建新解决方案时,不会发生此问题)。为什么会发生这种情况,我该如何解决?
截图(项目名称审查):
答案 0 :(得分:5)
我遇到了同样的问题(在我的解决方案中添加了Oracle数据库项目)。
要解决此问题,您应该编辑解决方案文件(.sln)。找到Oracle数据库项目(搜索oradbproj)。你应该找到这样的东西:
Project("{218574D1-FF94-4B95-8577-A6D58C11C315}") = "MyOracleDatabase",
"MyOracleDatabase\MyOracleDatabase.oradbproj", "{41823BBF-36F6-42AC-9C41-119241BAAFEC}"
EndProject
稍后,在相同的.sln文件中搜索“GlobalSection(ProjectConfigurationPlatforms)= postSolution”部分的开头。会有很多这样的条目:
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Release|Any CPU.Build.0 = Release|Any CPU
复制它们,将GUID替换为上一个例子中的previos“oradbproj”行({41823BBF-36F6-42AC-9C41-119241BAAFEC} 中的第二个):
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE85B8BD-1BCF-468C-AA0B-B869B87A66D5}.Release|Any CPU.Build.0 = Release|Any CPU
{41823BBF-36F6-42AC-9C41-119241BAAFEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41823BBF-36F6-42AC-9C41-119241BAAFEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41823BBF-36F6-42AC-9C41-119241BAAFEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{41823BBF-36F6-42AC-9C41-119241BAAFEC}.Release|Any CPU.Build.0 = Release|Any CPU
现在您可以保存.sln文件。如果您在Visual Studio外部编辑了.sln文件并将其打开,则返回Visual Studio会提示重新加载解决方案。单击是并等待。那是!!!
答案 1 :(得分:4)
在深入挖掘它的时间比我想承认的要长,我发现罪魁祸首是Oracle数据库项目(.oradbproj)。显然,当它添加到解决方案时,Visual Studio不会在解决方案配置和数据库项目的项目配置之间创建映射。手动添加映射似乎可以解决问题。我从另一个项目中复制了映射(在Solution文件的ProjectConfigurationPlatforms部分中),然后将GUID替换为与数据库项目对应的GUID。在进行了更改,保存,然后重新打开解决方案后,一切看起来都不错!