回答:
私はそれを行う2つの方法を知っています。
方法1
最初の方法(私が好む)はmsbuildを使用することです:
msbuild project.sln /Flags...
方法2次
も実行できます。
vcexpress project.sln /build /Flags...
vcexpressオプションはすぐに戻り、出力を出力しません。それがスクリプトに必要なものかもしれません。
DevEnvはVisual Studio Express 2008と一緒に配布されないことに注意してください(私が最初に同様の問題を抱えていたときに、それを理解しようと多くの時間を費やしました)。
したがって、最終結果は次のようになります。
os.system("msbuild project.sln /p:Configuration=Debug")
msbuildとvcexpressはデフォルトではシステムパスにないため、環境変数が正しいことを確認する必要もあります。Visual Studioビルド環境を起動してそこからスクリプトを実行するか、Pythonでパスを変更します(os.putenvを使用)。
MSBuildは通常は機能しますが、以前は問題に遭遇しました。あなたはより良い運を持っているかもしれません
devenv YourSolution.sln /Build
devenv YourSolution.sln /Build Debug
devenv YourSolution.sln /rebuild
devenv YourSolution.sln /rebuild release
またはdevenv YourSolution.sln /rebuild debug
正直なところ、2セント追加する必要があります。
msbuild.exeでそれを行うことができます。msbuild.exeには多くのバージョンがあり ます。
C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ msbuild.exe C:\ Windows \ Microsoft.NET \ Framework64 \ v3.5 \ msbuild.exe C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe
C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ msbuild.exe C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe
必要なバージョンを使用してください。基本的には最後のものを使用する必要があります。
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe
だからそれを行う方法。
コマンドウィンドウを実行する
msbuild.exeへのパスを入力します
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe
「C:\ Users \ Clark.Kent \ Documents \ visual studio 2012 \ Projects \ WpfApplication1 \ WpfApplication1.sln」
ソリューションパスの後に必要なフラグを追加します。
Enterキーを押します
あなたがのようなすべての可能なフラグについての助けを得ることができることに注意してください
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe / help
msbuild
他の人が指摘したように使用することは私にとってはうまくいきましたが、私はそれだけではなく、もう少しする必要がありました。まずmsbuild
、コンパイラにアクセスできる必要があります。これを実行するには、次のコマンドを実行します。
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
その後msbuild
、$ PATHになかったため、明示的なパスを介して実行する必要がありました。
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" myproj.sln
最後に、私のプロジェクトはのようないくつかの変数を利用していました$(VisualStudioDir)
。それらは設定されmsbuild
ていないようですので、/property
オプションで手動で設定する必要がありました:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" /property:VisualStudioDir="C:\Users\Administrator\Documents\Visual Studio 2013" myproj.sln
その行により、最終的にプロジェクトをコンパイルできるようになりました。
ボーナス:コマンドラインツールは、「無料」のGUIベースのVisual Studio Communityエディションのように、30日間使用した後は登録を必要としないようです。マイクロソフトの登録要件が整っているため、そのバージョンはほとんど無料です。どちらかといえばフェイスブックとして無料...
msbuild "C:\path to solution\project.sln"