Visual Studioを使用せずに.vbprojまたは.csprojプロジェクトファイルをコンパイルする
-
06-07-2019 - |
質問
Visual Studioのように、.vbprojまたは.csprojプロジェクトファイルを直接コンパイルする方法はありますか?
Visual Studioでコンパイルすると、" output"ウィンドウには、コンパイラの実際の呼び出しが表示されます。通常は次のようになります。
vbc.exe [一連のオプション] [.vbファイルのlooooongリスト]
プログラムで" something"を呼び出したいこれは.vbprojファイルを受け取り、この長いコマンドラインを生成するためにVisual Studioが行うことをすべて実行します。私は.vbprojを自分で解析してそのコマンドラインを生成することができますが、すべてのリバースエンジニアリングと試行錯誤を避けたいと思います...
これを行うためのツールはありますか?むしろ、Visual Studioをインストールせずにマシンで実行できるようにします。ただし、Visual Studioを呼び出すパラメーターがいくつかある場合は、それでも問題ありません。
MSBuildを簡単に見てみると、特に作成する必要がある.projプロジェクトファイルで機能するように見えます。また、.vbprojファイルにファイルを追加するたびに更新する必要があります。 (私はそれを簡単に見ていたので、重要なものを見逃した可能性が非常に高いです)
ヘルプは大歓迎です
解決
MSBuildが最も簡単な方法です。例えば:
msbuild /property:Configuration=Release MyFile.vbproj
他のヒント
MSBuildはソリューションファイルを取得し、それを使用してコンパイルを行うこともできます。
MSBUILDまたはCSCを使用できます。前述のとおり、MSBuildはプロジェクトファイルとソリューションファイルを使用します。 CSCは特定のファイル、または特定のディレクトリツリー内のすべてのファイルをコンパイルします。
NAntやCruiseControl.netを使用したビルドの自動化も検討する必要があります。
また、Visual Studioを使用せずにCSCを使用してコードをコンパイルする方法の例を次に示します。 http://blog.slickedit.com/?p=163
ご存知のとおり、.vbprojおよび.csprojファイルはMSBuildです。読んだものはすべて、それらのファイルに直接適用できます。
イブラヒム橋見と言った
プロジェクトソリューションフォルダー内:
msbuild wpfapp1.sln /p:BuildProjectReferences=true
MSbuildは通常、次の場所にあります。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
(またはバージョンに応じて同様の何か)
csc.exeはファイルをコンパイルし、msbuildはプロジェクトとソリューションをコンパイルします
.vbprojファイルの先頭には。次の行をプロパティグループに追加して、VBランタイムを抑制します。
<NoVBRuntimeReference>On</NoVBRuntimeReference>
残りはMSBuildが行います。 IDEがある場合は、コマンドラインを使用する必要はありません。