Visual Studio 2008でプロジェクト構成を削除するにはどうすればよいですか?


97

Visual Studio 2008ソリューションを使用しており、その中に多数の既存のプロジェクトをインポートしました。プロジェクトは、混合言語のサンプルコード(C#、VB、C ++ / CLI)です。現在、それらには複数の構成がありますが、各プロジェクトには単一の「デバッグ」構成のみが必要です。

構成マネージャーで、他の構成(「リリース」など)を削除しましたが、そうすると、個々のプロジェクトからは削除されないという警告メッセージが表示されました。

実際、個々のプロジェクトに移動しても、ソリューションレベルでは「デバッグ」しかないにもかかわらず、「リリース」やその他の構成が残っています。

各プロジェクトからこれらの余分な構成を削除するにはどうすればよいですか?GUIでこれを行う方法を見落としているのですか、それともプロジェクトファイルを直接編集する必要がありますか?

回答:


191

構成マネージャーで、削除する構成があるプロジェクトごとに([アクティブソリューション構成]というドロップダウンではなく)、[構成] 列の[編集... ]を選択します。

ポップアップ表示されるダイアログで、不要な構成をそれぞれマークし、「削除」を選択します。


22
ありがとうございました!Visual Studioがすべてのプロジェクトで構成を削除するより迅速な方法を提供してくれることを願っています。ソリューションに12個ほどのプロジェクトがある場合、それぞれを調べて手動で構成を削除するのは面倒です。
Stefano Ricciardi、2011

1
@Matthias私は違うと頼みました。いいえ、変更されていません(2009年に回答してからバージョン2013まで)。
Timbo 2014年

1
構成マネージャーに移動し、編集によってアクティブなソリューション構成を削除すると、構成は実際に構成マネージャーから削除されます。しかし、プロジェクトのプロパティに移動しても、構成はまだ残っています。.vcxprojファイルの内部を見ると、構成はまだ残っています。私はVisual Studio 2013(ProfessionalおよびUltimate)を使用しています
Matthias

1
@Matthiasをよく読んでください(特に各プロジェクトの部分)。多分私の答えの単語の選択/順序は、最もわかりやすくするために適切に最適化されていませんが、これが機能するかどうかは変わりません。
Timbo 2014年

1
@Stefano Ricciardi 5年後、あなたはそのような痛みの解決策を見つけましたか?
cppBeginner 2018

10

ティンボの答えを説明するために、彼が話しているのは次のとおりです。一部のコメンターのように、これを見つけるのにしばらく時間がかかりました。

ここに画像の説明を入力してください


8

ソリューションのすべてのプロジェクトから構成を自動的に削除する最善の方法は、Nugetコンソールコマンドを使用してVisual Studio APIにアクセスすることです。

[ ツール][Nugetパッケージマネージャー]、[ パッケージマネージャーコンソール]に移動します

そこから使用:

Get-Project -All | Foreach { $_.ConfigurationManager.DeleteConfigurationRow("Release") }

このようにして、と呼ばれるすべてのプロジェクトからすべての構成を削除しました"Release"。ソースコードのバージョン管理システムの違いを常に確認することを強くお勧めします。影響を受けるのはファイルだけcsprojで、場合によってはsln影響を受けるだけです。構成変換(Web.Release.configなど)を使用している場合、ファイルはそのまま残ります。

詳細については、こちらVisual Studioバージョン固有のAPIドキュメントをご覧ください。これは、少なくともVS 2015からC ++、C#、F#、VB言語で動作します。


このコードを思いつく方法など、いくつかの参照を提供できますか?チュートリアルはありますか?私はそれが私のプロジェクトを壊さないことを確認し、自分でそれを維持することができ、おそらく他のもののためにそれを使用できるようにしたいと思います。
javaLover

感謝!リンクのトピックのツリー(ページの上部)がであることに気付きましたDocs > .NET > ... > DeleteConfigurationRow。.netソリューションでのみ機能しますか?C ++ソリューションについてもテストしましたか?
javaLover

C ++ソリューションのVS2019で機能しませんでした:COMコンポーネントの呼び出しからエラーHRESULT E_FAILが返されました。行:1 char:30 + ... | Foreach {$ _。ConfigurationManager.DeleteConfigurationRow( "DLL-Impor ... + CategoryInfo:OperationStopped:(:) []、COMException + FullyQualifiedErrorId:System.Runtime.InteropServices.COMExceptionエラーHRESULT E_FAILがCOMの呼び出しから返されましたコンポーネント。at line:1 char:30 + ... | Foreach {$ _。ConfigurationManager.DeleteConfigurationRow( "DLL-Impor ...
Terry

C ++プロジェクトのソリューションでうまくいきました。先端をありがとう!
Nordic Mainframe

3

私が知っているこの特定の質問には答えませんが、VS2013では、[プロパティマネージャー]タブを開き、すべてのプロジェクト構成を展開し、CTRLまたはSHIFTキーを使用して複数選択を行い、複数のプロジェクトから一度に構成を削除できます。


これはC ++プロジェクト専用ですか?あなたが参照しているタブは 'View> Other Windows> Property Manager'でしょうか?
スティーブンアンダーソン、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.