2011-12-14 35 views
8

近いうちに.NETデプロイメントをサポートする必要があるかもしれません。私は、このアプリケーションを開発している人と話をして、彼らが配備のベストプラクティスを持っているかどうかを評価することができなければなりません。.NETアプリケーションの配備とJava Webアプリケーションの配備との比較

私はJavaの開発者であり、.NETを話さないため、これは私の問題です。だから私はベストプラクティスが何であるべきかを理解していない。

私は関連性があると思うので、JavaアプリケーションとJava EE Webアプリケーションのデプロイメントと.NETアプリケーションのデプロイメントの違いは何かを知りたいと思います。

かなり基本的なJavaアプリケーションをWebにデプロイすると、通常、ソース管理からコードを取得し、ANTまたはMavenスクリプトを実行して.warファイルを生成し、そのファイルをwebappsディレクトリにドロップし、 Tomcatや他のアプリケーションサーバーは、.warファイルを膨張させて実行させます。

.NETで同等の処理は何ですか?どのツールが一般的に使用されていますか? .warファイルと目的が似ているアーティファクトはどのように作成されますか?よくある悪い習慣は何ですか?しかし避けるべきですか?

+0

私はこれについての経験がないので、実際にはお勧めできませんが、[ApacheでASP.NETアプリケーションをホストする]ことが可能です(http://weblogs.asp.net/israelio /archive/2005/09/11/424852.aspx)。 –

+0

kludgy ......... ?? – Celt

答えて

8

Assembliesを見つけることができる、それが知っている最高レベルの「パッケージ」です。 Javaでは.jar filesとおおよそ同等です。アセンブリの上には(Web Deployパッケージのような)システムがありますが、上位レベルのツールやアドオンで使用されています.Netのコアコンセプトではありません。

Antの代わりに、MsBuildがあります。

Visual StudioソリューションはVisual Studioプロジェクトの組み合わせで、Visual StudioプロジェクトはMsBuildスクリプトです。 Visual StudioまたはMsBuildでそれらのいずれかをビルドすることができます。

アセンブリはthe compilerによってコンパイルされます。 MsBuildスクリプトを使用して、どのファイルがアセンブリにコンパイルされるかを指定し、参照する他のアセンブリを指定します。

.Netアセンブリは、GAC(Global Assembly Cache - これはシステム全体)内のアセンブリと、同じディレクトリ内のアセンブリを参照できます。 a Java WARのように読み込まれるマジックライブラリのディレクトリはありません。

.Net側では、IISは、Webサーバーとアプリケーションサーバーの両方です。

application poolsは特定のユーザーの下で動作し、.Net Frameworkの特定のバージョンを読み込みます。これらを「サイト」レベルまたは「アプリケーション」レベルで適用することができます。

IISには、「サイト」(「既定のWebサイト」のみ)があり、そのサイトの下に「仮想ディレクトリ」を作成します。次に、「アプリケーションとしてマークする」ことができます。仮想ディレクトリを実際のファイルシステムディレクトリにバインドし、展開しているファイルをそのディレクトリにドロップするだけです。

参照:Understanding Sites, Applications, and Virtual Directories on IIS

JavaアプリケーションサーバーがあるようにIISにはdeployディレクトリはありません。ページとアセンブリを、提供元のディレクトリにまっすぐにドロップします。

しかし、ウェブサイト用のディレクトリ構造があります。 Visual Studioでビルドしたプロジェクトは、既にその階層に一致するように設定されているため、プロジェクトフォルダ全体を取得してIISにスローするだけです。

もう少し自動化したい場合はWeb Deployをご覧ください。

0

1ワードIIS。私が開発したアプリケーションに関しては、サービスやWebサイトでIISを使って展開します。

同じように、あなたは言った。 Visual Studioは、IISを介してWebサーバーに展開できるWebアプリケーションまたはWebサイトのビルドを出力し、完全に構成可能です。

すべてのステップおよび前駆体は、.NETでhere

関連する問題