0

Visual Studio 2003 のコマンド ラインを使用して自動ビルドを実行しようとしています。次のコードがあります。

call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"

Devenv /rebuild debug /project Project1 "C:\Builds\MyApp\Sample.sln"
Devenv /rebuild debug /project Project2 "C:\Builds\MyApp\Sample.sln"
Devenv /rebuild debug /project Project3 "C:\Builds\MyApp\Sample.sln"

上記のスクリプトでは、各プロジェクトを個別にビルドします (インターネットのチュートリアルで見たように)。しかし、ビルドしようとするたびに、Microsoft 名前空間が見つからないという多くのエラーが発生します。以下は、ビルド時に表示されるエラー メッセージの例です。

  • インポート 'Microsoft.Practices.EnterpriseLibrary.Data' の名前空間または型 'Data' が見つかりません。

  • インポート 'Microsoft.Practices.EnterpriseLibrary.Data.Sql' の名前空間または型 'Sql'
    が見つかりません。

  • インポート 'Microsoft.Practices.EnterpriseLibrary.Logging' の名前空間または型 'Logging'
    が見つかりません。


  • メイン プロジェクトの出力が見つからないため、サテライト アセンブリをビルドできませんでした。

ビルドする別の方法を試しましたが、今回はそれがソリューション全体ですが、それでも同じエラーが発生します。

call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
Devenv C:\Builds\MyApp\Sample.sln /rebuild "Debug"

誰かが私に欠けているものを教えてもらえますか? 1 つのソリューションに 50 以上のプロジェクトがあり、このための自動ビルドを作成するのに非常に役立ちます。

どうもありがとう!乾杯!

4

3 に答える 3

0

これを試してください: 各プロジェクトには、「Microsoft.Practices.EnterpriseLibrary」への参照が必要です - ファイル、dll、またはこれらが保存されている場所。

おそらく、開いている IDE の間に参照を保持し、それを対応するビルド フォルダーにコピーします。(ビルドタスクの後)。独立してビルドしている間、参照が見つかりませんでした。コピー タスクが存在する場合 - 相対パスを確認します。依存ファイルは、IDE でのビルドと比較して、ビルド後に別のフォルダーをターゲットにしている可能性があります。ちょうど別のアイデア..

于 2013-09-04T08:40:53.837 に答える
0
  1. 「vsvars32.bat」ファイルを「呼び出さないでください」。
  2. "Devenv.exe" のフル パスを使用します (#1 ではなく)。
  3. オプション: (おそらくこれがキッカーです)..... .sln ファイルが存在するディレクトリに移動します。

    "c:\myfullpath\Devenv.exe" /rebuild debug /project Project1 "C:\Builds\MyApp\Sample.sln"

コマンドラインから試してみて、何が起こるか見てください。

今後の注意:

2.0 では、「devenv.exe」を使用せず、msbuild.exe に変更します。(参考までに)。

MSBee を検索することもできます。(msbuild で 1.1 アプリをビルドする方法)。

編集

これらの行はすべて機能しています........VS2003はもうインストールされていません。しかし、いくつかのサンプルを実行するために VS2010 devenv.exe を使用しました。

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"  MySolution.sln /clean
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /build debug  /project MyProject001 MySolution.sln

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /rebuild debug /project MyProject001 MySolution.sln

/clean を MySolution.sln (最初の例) に切り替えると、失敗することに注意してください。したがって、いくつかの注文ブードゥーがあるかもしれません。

于 2013-08-26T14:17:19.873 に答える
0

あなたが何を望んでいるのか正確にはわかりませんが、私が使用する C# プロジェクトのコンパイルを自動化するにはmsbuild.

たとえば、これはいくつかの XNA プロジェクト ゲームをビルドするために使用するコードです。

サンプルコード:

@echo off
set path=%path%;C:\Windows\Microsoft.NET\Framework\v4.0.30319
Rem In the above line replace "v4.0.30319" with the latest framework version you have
Rem (or include the path to youy inbuilt compiler)

Msbuild "C:\Builds\MyApp\Sample.sln"

必要なその他の要件を満たすために、環境変数msbuild /?に追加した後に入力するだけです。path最良のことは、これがすべての Windows コンピューターに組み込まれることです。

他に知りたいこと、やりたいことがあれば聞いてください。

于 2013-09-04T00:20:06.307 に答える