1

NAnt を使用して自動化されたビルドのプロジェクトに取り組んでいます。自動ビルドには、仮想ディレクトリの削除と再作成、VSWebCache のクリアなど、マシンをクリーンアップするための NAnt タスクが含まれます。マシンがリセットされると、次のようにサイトをコンパイルしようとします。

<exec program="${visualstudio.install.dir}\devenv.com" commandline="SolutionFile.sln" failonerror="true"/>

問題は、自動ビルドがこの時点でロックアップすることです。

.sln ファイルを対話的に開くと、最初に Visual Studio からダイアログ ボックスが表示されます。NAnt スクリプトを実行すると、このダイアログ ボックスが (目に見えずに) 「開いている」と思われ、クリックして先に進むことができません。

ダイアログ メッセージは次のとおりです。

Microsoft Visual Studio

The web (URL) is currently configured for use with ASP.NET 1.1.  Web project (name) is targeting ASP.NET 4.0; if not configured some features may make incorrect assumptions, and pages designed with the tool may not render correctly.

Would you like the site to be configured for use with ASP.NET 4.0?

実際、私のマシンには 3 つの異なるバージョンの .NET があり、複数のプロジェクトに取り組んでいます。いずれにせよ、ビルド スクリプトによって構成が吹き飛ばされるため、事前にサイトを構成することはできません。必要なのは、ダイアログを受け入れる自動化された方法 ([はい] ボタンをクリックしたかのように) か、vdir を ASP.NET 4.0 アプリケーションに自動的に設定する NAnt タスクのいずれかであると思います。

ビルド スクリプトを適切に変更する自由はありますが、マシンをリセットする部分を単純に削除することはできません。ビルド ボックスは他のプロジェクトと共有されており、ビルド ボックスを実行する前にすべてを既知の良好な状態にリセットする必要があります。コンパイル。

4

1 に答える 1

0

MSBUILD を直接使用し、devenv を使用しないでください。これは完全な IDE であり、必要なのはビルドすることだけです。

于 2013-04-17T20:26:29.127 に答える