为什么我的Configuration Manager在Visual Studio中是空白的?

时间:2012-08-07 14:10:59

标签: visual-studio configuration solution

最近,在我一直在研究的一些解决方案上,Configuration Manager对话框显示“Configuration”和“Platform”的空字段,并且“Build”始终未选中。更改值并保存配置无法解决问题。

这不会发生在所有解决方案上(例如,创建新解决方案时,不会发生此问题)。为什么会发生这种情况,我该如何解决?

截图(项目名称审查): Configuration Manager

2 个答案:

答案 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。在进行了更改,保存,然后重新打开解决方案后,一切看起来都不错!