4

ASP.NET Web アプリケーションをビルドすると、Web サイトのコードを含む .dll ファイルが生成されます (これは素晴らしいことです)。ただし、Web サイトにはすべての .aspx ファイルとその関連ファイルも必要であり、これらを正しい場所に配置する必要があります。ディレクトリ構造。各ビルドの結果として、これをすべて 1 つのディレクトリに入れるにはどうすればよいですか? ソース ディレクトリから適切なファイルを選択しようとするのは面倒です。

最終結果は、xcopy でデプロイ可能になるはずです。

更新:私が認識している Publish コマンドを手動で使用する必要はありません。アプリケーションが必要とするファイルの完全なセットをビルド出力にしたい - これは、MSBuildを実行することで、ファイルの完全なセットも 1 か所で取得できることを意味します。

4

9 に答える 9

5

1 つの解決策は、Web プロジェクトをディレクトリにビルドし、オプションでアセンブリをマージして web.config ファイルを変更できる Visual Studio (および msbuild) のアドオンである Web 配置プロジェクト (WDP) のようです。WDP を構築すると、サイトを 1 つのディレクトリに展開するために必要なすべてのファイルが出力されます。

Web 配置プロジェクトの詳細:

  1. WDP 2008に関する webdevtools MSDN ブログでのお知らせ
  2. ScottGu による WDP 2005 の紹介

このソリューションの唯一の欠点は、ビルド マシンで利用可能でなければならないアドオンの要件です。それでも、今のままで十分です!

于 2008-09-11T14:15:42.033 に答える
2

ASP.NET には、新しいサイト用の実際のxcopy 展開はありません。IIS に仮想ディレクトリ/アプリケーションがあるかどうかによって異なります。ただし、その仮想ディレクトリが作成されると、更新に xcopy を使用できます。

于 2008-09-10T21:08:33.627 に答える
1

MSBuild の _CopyWebApplication ターゲットは、必要なことを正確に実行します。問題は、メイン アセンブリのみが bin フォルダーにコピーされることです。そのため、bin フォルダー上の他のファイルもコピーするにはコピー タスクが必要です。

この投稿の一部としてサンプル スクリプトを投稿しようとしましたが、できませんでした。

必要なスクリプトと同様の MSBuild スクリプトを作成する方法について説明している私のブログの記事をご覧ください。

于 2009-08-18T20:32:02.090 に答える
1

.net フレームワーク ディレクトリで aspnet_compiler.exe を使用してみましたか? Web アプリケーションまたは Web サイトの「デプロイ準備完了」バージョンを作成できると確信しています。

于 2008-09-17T00:09:28.117 に答える
1

Web サイトを公開できます。展開を自動化したい場合は、スクリプトを使用する必要があります。

于 2008-09-10T21:09:28.163 に答える
0

ソリューション エクスプローラーで Web サイトを右クリックし、[Web サイトの公開] をクリックしてみましたか?

于 2008-09-10T21:07:38.650 に答える
0

ビルド --> 公開

プロセスを案内するダイアログ ボックスが表示されます。

于 2008-09-10T21:09:30.660 に答える
0

アップデートで説明されている自動化された建物については、 MSBuildCruiseControl.NETを調べることをお勧めします。

于 2008-09-10T21:18:23.417 に答える
0

必要なソリューションがどれほど複雑かによって異なります。たとえば、スクリプトとジェンキンを使用できます。IIS に展開するためだけに Jenkins で MSBUild を使用できます。また、Jenkins の他のツールがあれば、後で簡単に接続できます。ただし、ビルドするだけの場合は、jenins が MSDeploy を使用するすべてのビルドを実行するスクリプトを使用すると、うまく機能します。

感覚をつかむために、これが私が行う方法です:

Sonarqube は、Gallio、Gendarme、FXcop、Stylecop、NDepths、および PartCover を使用してメトリクスを取得します。SonarQube は多くの構成なしでこれを自動的に行うため、これはすべて非常に簡単です。

これは、Jenkins witch のビルドと Sonar メトリックの取得、および IIS に自動的にデプロイするための別のジョブです。MSBuild を呼び出す 1 行の単純なスクリプトを使用し、URL、パス、およびユーザーを指定します。

そしてSonarqube、私のプロジェクトのすべての指標。これは単純な MVC4 アプリですが、うまく機能します!:

さらに詳しい情報が必要な場合は、良いガイドを提供できますか。

このセットアップ全体では MSBuild を使用し、アプリのビルドとデプロイも行います。

于 2013-08-16T09:54:41.017 に答える