2017-10-29 8 views
0

Visual Studioのコマンドウィンドウからプロジェクトのプロパティを設定することはできますか?私はそれが限られている、または私はそれのための完全なドキュメントを見つけたことがない場合、私はうまくいっていない。Visual Studioのコマンドウィンドウからプロジェクトのプロパティを設定することは可能ですか

デバッグコマンドと引数をすばやく簡単に設定すると便利です。

答えて

1

この質問は、MSBuildベースのプロジェクト(csproj、vbproj、vcxprojなど)とMSBuildを介してVisual Studioでサポートされている他のプロジェクトタイプに関連すると仮定します。

MSBuildを直接呼び出すときや環境変数を使用してコマンドプロンプトを使用すると、ほぼすべてのプロジェクトプロパティを設定できます。次のコマンドを使用してビルドを開始する場合:

msbuild /t:Build /p:Configuration=Debug;Platform=x64;OtherPropertyToSet=value 

/p:PropertyName=valueまたは/property:PropertyName=value MSBuildのコマンドラインパラメータを使用してプロパティを渡すことが可能であるよりも。他のプロパティについては、MSBuildのコマンドラインパラメータを確認してください。

環境変数を設定することでプロジェクトのプロパティを設定することもできます。 MSBuildプロジェクトのファイル構文では、プロジェクト変数の値が使用されているのとまったく同じ方法で環境変数の値を取得できます。したがって、環境変数を希望の値に設定するよりプロパティをオーバーライドできる場合は、プロジェクトプロパティの値も設定されます。

MSBuildプロジェクトファイルの構文には、外部プロパティ.props.targetsを含めるために使用できるいくつかの拡張ポイントが用意されています。これにより、プロジェクトのプロパティをより複雑に変更することができます。それらは、コマンドラインで設定されたプロジェクトのプロパティに基づいて含めることができます。

プロジェクトプロパティ値のオーバーライドにはいくつかの制限があります。特に予約されているMSBuildプロパティはオーバーライドできません。現在のリストについてはMSBuild Reserved and Well-Known Propertiesを参照してください。

複雑なMSBuildプロジェクトをコマンドラインから作成して使用する例については、DotNet CoreCLR repo、特に* .cmd拡張子のファイルを参照してください。

以下に、プロジェクトのデバッグを開始する実行ファイルと使用するコマンドライン引数を指定するユーザーファイルの断片を示します。 /p:PropertyName=value MSBUildパラメータを使ってそれらを渡してみてください。

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'"> 
    <StartAction>Program</StartAction> 
    <StartProgram>C:\Windows\System32\ping.exe</StartProgram> 
    <StartArguments>stackoverflow.com</StartArguments> 
    </PropertyGroup> 
</Project> 
+0

残念これはVisual Studioのコマンドウィンドウについてのもので、VSパスのコマンドプロンプトとは異なります。 VSでは、[表示]メニューの[その他のウィンドウ、コマンドウィンドウ]に移動します。 – JCx

関連する問題