最近、私が取り組んでいるいくつかのソリューションで、構成マネージャー ダイアログに [構成] と [プラットフォーム] の空のフィールドが表示され、[ビルド] は常にオフになっています。値を変更して構成を保存しても、問題は解決しません。
これは、すべてのソリューションで発生するわけではありません (たとえば、新しいソリューションを作成する場合、この問題は発生しません)。なぜこれが起こっているのでしょうか?どうすれば修正できますか?
スクリーンショット (プロジェクト名は検閲済み):
最近、私が取り組んでいるいくつかのソリューションで、構成マネージャー ダイアログに [構成] と [プラットフォーム] の空のフィールドが表示され、[ビルド] は常にオフになっています。値を変更して構成を保存しても、問題は解決しません。
これは、すべてのソリューションで発生するわけではありません (たとえば、新しいソリューションを作成する場合、この問題は発生しません)。なぜこれが起こっているのでしょうか?どうすれば修正できますか?
スクリーンショット (プロジェクト名は検閲済み):
同じ問題が発生しました(ソリューションにOracle Databaseプロジェクトを追加します)。
問題を修正するには、ソリューションファイル(.sln)を編集する必要があります。Oracle Databaseプロジェクトを検索します(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を前の「oradbproj」行の2番目のGUIDに置き換えます(前の例では{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に戻ると、ソリューションの再読み込みを求めるプロンプトが表示されます。[はい]をクリックして待ちます。あれは!!!
認めたくないほど長く掘り下げた結果、犯人は Oracle データベース プロジェクト (.oradbproj) であることがわかりました。どうやら、それがソリューションに追加されたとき、Visual Studio はデータベース プロジェクトのソリューション構成とプロジェクト構成の間のマッピングを作成しませんでした。マッピングを手動で追加すると、問題が解決するようです。別のプロジェクト (ソリューション ファイルの ProjectConfigurationPlatforms セクション) からマッピングをコピーし、GUID をデータベース プロジェクトに対応するものに置き換えました。変更を加えて保存し、ソリューションを再度開くと、すべて問題なく表示されます。