web-dev-qa-db-ja.com

VisualStudioを使用せずに.vbprojまたは.csprojプロジェクトファイルをコンパイルする

Visual Studioと同じように、.vbprojまたは.csprojプロジェクトファイルを直接コンパイルする方法はありますか?

Visual Studioでコンパイルすると、「出力」ウィンドウにコンパイラへの実際の呼び出しが表示されます。これは通常、次のようになります。

vbc.exe [オプションの束] [。vbファイルのlooooongリスト]

プログラムで.vbprojファイルを取得する「何か」を呼び出し、この長いコマンドラインを生成するためにVisualStudioが行うことをすべて実行したいと思います。私は知っていますcould .vbprojを自分で解析し、そのコマンドラインを生成しますが、リバースエンジニアリングと試行錯誤をすべて自分で保存したいと思います...

これを行うためのツールはありますか? Visual Studioをインストールしなくても、マシンでそれを実行できるようにしたいと思います。ただし、いくつかのパラメーターを使用してVisual Studioを呼び出す方法がある場合は、それでも問題ありません。

MSBuildを簡単に調べたところ、特に作成する必要のある.projプロジェクトファイルから機能しているようで、.vbprojファイルにファイルを追加するたびに更新する必要があります。 (私はそれを簡単に見たので、重要な何かを見逃した可能性が非常に高いです)

どんな助けでも大歓迎です

24
Daniel Magliola

MSBuildが最も簡単な方法です。例えば:

msbuild /property:Configuration=Release MyFile.vbproj
45
Jon Skeet

MSBuildは、ソリューションファイルを取得し、それを使用してコンパイルを実行することもできます。

4
Rob Prouse

MSBUILDまたはCSCのいずれかを使用できます。あなたが言ったように、MSBuildはあなたのプロジェクトとソリューションファイルを使用します。 CSCは、特定のファイル、または特定のディレクトリツリー内のすべてのファイルをコンパイルします。

NAntやCruiseControl.netを使用したビルドの自動化も検討する必要があります。

また、CSCを使用してVisualStudioなしでコードをコンパイルする方法の例を次に示します。 http://blog.slickedit.com/?p=16

2
AaronS

ちょうどあなたが知っているように、.vbprojファイルと.csprojファイルはMSBuildです。したがって、読んだすべてのものを、それらのファイルに直接適用できます。

イブラヒム橋見は言った

私の本: Microsoft Build Engineの内部:MSBuildとTeam Foundation Buildの使用

プロジェクトソリューションフォルダー内:

msbuild wpfapp1.sln /p:BuildProjectReferences=true

MSbuildは通常、次の場所にあります。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

(またはバージョンによっては同様のもの)

csc.exeはファイルをコンパイルし、msbuildはプロジェクトとソリューションをコンパイルします

1