2017-07-07 8 views
1

Visual Studio 2017を使用してVisual Studioプロジェクトをビルドしようとしています。これは失敗し、エラーリストにはかなりの中国語文字が表示されます。Visual Studioプロジェクトのビルド時に使用されるコマンドラインの取得方法

私はこれらの文字がMSBuildコマンドの誤解によって発生していることを理解しています。そのため、MSBuildコマンドを自分で実行して、どのエラーメッセージが漢字につながり、解決するかを確認しました私の問題。

this relevant StackOverflow post」で説明したように、Visual Studioの「MSBuildプロジェクトのビルド出力の冗長性」を「詳細」に変更しましたが(私はそれを「診断」にも入れます)、かなりの情報がありましたが、その出力からMSBuildコマンドラインを取得できませんでした。私がコメントで言及したように、私はオプションのウィンドウに "Show all settings"チェックボックスを持っていません。

私はコマンドプロンプトを開いてVisual Studioプロジェクトの場所に行って、単に "\ MSBuild.exe"コマンドを起動しました。しかし、これは良い考えではありませんでした。プロジェクトは正常に構築されており、Visual Studio(3)のエラーリストにあるように、警告の数(864)は予想される警告の数に対応していませんでした。二つの質問:

  1. 私はどのように私は、Visual Studioを使用している 1を知ることができ、私のPC上で異なるからMSBuild.exeファイルを持っていますか? (あなたの情報については、MSBuildが起動していない場合、$PATH環境変数にMSBuildランタイムディレクトリがありません)
  2. Visual Studioを使用してビルドを開始する際に、いくつかのパラメータを使用する可能性があります。 出力ウィンドウからのもの?

一方、「開発者コマンドプロンプト」というツールがあることがわかりました。私はこのツールを開いてプロジェクトのディレクトリに行き、MSBuildを起動しました。ビルドに成功しました。エラーがゼロであり、警告がないので、期待した結果が得られません。事前

おかげ

答えて

1

1.Iは、どのように私は1つのVisual Studioを使用しているかを知ることができ、私のPC上で異なるからMSBuild.exeファイルを持っていますか? (私は単に起動し、「MSBuildの」それが動作していない、あなたの情報については、:私の$ PATH環境変数中にMSBuildのランタイムディレクトリ)

あなたは右クリック、「Unload Project」を選択し、プロジェクトを右クリックしをクリックして選択することができます"Edit xx.csproj"。プロジェクトファイルの先頭では、あなたがToolversionための声明ていることがわかります:以外

<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

は、あなたが出力ウィンドウにキーワード「MSBuild」を検索する「はCtrl + F」を使用することができます(「MSBuildのプロジェクトビルド出力の冗長性 "を"詳細 "に変更)、さらに多くのエントリがMSBuild\15.0であることがわかります。

だから我々は(C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Binで検索します)からMSBuild.exe 15.0を知っている可能性は2017年

2.Iは、どのようにVisual Studioを使用ビルドを起動中に、いくつかのパラメータが使用されるかもしれないと考えているのVisual Studioで使用されています出力ウィンドウからそれらを取得できますか?

はい、ビジュアルスタジオを使用してビルドを起動するときには、いくつかのパラメータが使用されます(たとえば、構成:Dubug/Release)。所有者:Target Framework。出力ウィンドウでこれらのパラメータを取得するには、「Ctrl + F」を使用して検索キーワードを検索します。

Visual Studioプロジェクトをビルド中に使用されたコマンドラインを取得する方法 その出力からMSBuildコマンドラインを取得できませんでした。

これまで説明したとおり、オプションウィンドウで[すべての設定を表示]チェックボックスも表示されませんでした。しかし、これは私たちに影響を与えません出力からコマンドラインを取得する。あなたは、あなたが一例(C#プロジェクト)のために、出力ウィンドウにコマンドラインを見つけるだろう、プロジェクトをビルドし、「詳細」に「MSBuildのプロジェクトのビルド出力の冗長性」を変更する必要があります。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE ... 

この後者のコマンドは本物です実行されるコマンドはMSBuild.exe <something>ではなく、csc.exe <something>(C#プロジェクト)またはCL.exe <something>(C/C++プロジェクト)です。

コンパイルコマンドをディレクトリC:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDEから実行する必要があります。コンパイルコマンドを起動している間は、ディレクトリ名のスペースを処理するために二重引用符を忘れないようにしてください。

関連する問題