ホームページ >バックエンド開発 >C#.Net チュートリアル >VS での新しい Web サイトの作成と新しい WEB プロジェクトの違いは何ですか?

VS での新しい Web サイトの作成と新しい WEB プロジェクトの違いは何ですか?

巴扎黑
巴扎黑オリジナル
2017-04-30 10:43:564731ブラウズ

Webアプリケーションプログラミングモデルの利点

●増分コンパイル モードを使用して Web サイトを迅速にコンパイルします。ファイルが変更された後でのみ、この部分は増分コンパイルされます。

●生成されたアセンブリ
WebSite: ランダムなアセンブリ名を生成します。単一のアセンブリを生成するには、プラグイン WebDeployment を使用する必要があります。 WebApplication: Web サイト プロジェクトを指定して単一のアセンブリを生成できます。独立したアセンブリなので、他のプロジェクトと同様に、アプリケーション アセンブリの名前、バージョン、出力場所などの情報を指定できます

。 ●ウェブサイトを複数のプロジェクトに分割して管理しやすくすることができます

●プロジェクトやソースコード管理からファイルを除外可能

●日々の構築にVSTSのチームビルドを便利にサポート

●より強力なコード検査機能、検査戦略はソースコードによって制御されます

●コンパイル前後に独自の所定の処理を行うことができます

●App_GlobalResources に対する Resource クラスの強力なサポート (オンラインで言及されていますが、私はまだ学習していません)

●VS2003で構築された大規模システムを直接アップグレード

Web サイトプログラミングモデルの利点

●ページを動的にコンパイルすると、サイト全体をコンパイルしなくても、すぐに効果を確認できます (主な利点)


●上記と同様に、間違った部分が使用されている部分に干渉することを防ぐことができます(コンパイルが通過した後でのみチェックインできるように要求することもできます)

●ページごとにアセンブリを生成することができます(この方法は通常は使用されません)

●ディレクトリをWebアプリケーションとして扱い、ファイルを直接コピーして、プロジェクトファイルなしで公開することができます(小規模サイトに適しています)

●ページをアセンブリにコンパイルすることもできます (使用しないでください。WebApplication は WebDeployment プラグインを通じて実装することもできます)

2 つのプログラミング モデル間の変換

VS2005 SP1 には変換プログラムが組み込まれており、Web サイトから Web アプリケーションに簡単に変換できます

ファイルをコピーし、右クリックして「Web アプリケーションに変換」を実行するだけです。

特別な逆変換ツールは見つかりませんでしたが、比較した結果、変換は非常に簡単であることがわかりました。
すべての *.designer.cs を削除します
*.aspx、*.ascx、*.master ページ ファイルの Codebehind="******.aspx.cs" を CodeFile="******.aspx.cs" にバッチ置換します

この方法で元に戻すことができます

コンパイル ( Visual Studio

どの WEB プログラミング モデルを選択するか

シナリオ

Webアプリケーションプロジェクト

Webサイトプロジェクト

プロジェクト定義

Visual Studio .NET 2003 と同様に、プロジェクト ファイルが存在するため、プロジェクト ファイルによって参照されるファイルのみが ソリューション エクスプローラー に表示されます。そして、これらのファイルのみがコンパイルされます。 ASP.NET アプリケーションを複数の Visual Studio プロジェクトに簡単に分割できます。プロジェクトおよびソース コード管理からファイルを除外するのは簡単です。

ディレクトリ構造は WEB プロジェクトです。プロジェクトファイルが存在しません。このディレクトリ内のすべてのファイルはプロジェクトの一部として存在します。 もちろん、実際に展開する Web サイトにはプロジェクト ファイルはありません。Web サイトを変更したい場合、このプログラミング モデルは非常に適しています。この
WEB サイトでは、それらのファイルがどのプロジェクトに属しているかを気にする必要さえありません。

コンパイルと生成

Visual Studio .NET 2003Webアプリケーションプロジェクトコンパイルモードとほぼ同じです。

プロジェクト内のすべての

分離コード クラス ファイルと独立したクラス ファイルは、独立したアプリケーション アセンブリにコンパイルされます。このアプリケーション セットは Bin ディレクトリに配置されます。独立したアプリケーション セットであるため、アプリケーション セット名、バージョン、出力場所などの情報を指定できます。

例:

Model-View-Controller (MVC) パターンはここで非常にうまく使用できます。これにより、WEB ページと WEB ユーザー コントロールで別のクラスを参照できるようになるためです。

Build

) コマンドは、この WEB サイト プロジェクトをデバッグするときに、ソース コード ファイル ASP.net に応じて、正しくコンパイルされているかどうかをテストするだけです。 これは、ページとクラスを動的にコンパイルすることによって実現されます。

プリコンパイルされたサイトと動的にコンパイルされたサイトは同じ コンパイル セマンティクスを使用します プリコンパイルを通じてサイトのパフォーマンスを向上させることができます。

ASP.net 動的コンパイル システムは、デフォルトの バッチ コンパイル モデルと 固定名 コンパイル モデルの 2 つのモデルを提供します。

バッチ コンパイル モデルでは、複数のアプリケーション セットにコンパイルされます (通常、各ディレクトリは 1 つにコンパイルされます)。このとき、アプリケーションセットを見ても、どのディレクトリなのか判断するのが困難です。

固定名 コンパイル モデルでは、Web サイトの各ページまたは各ユーザー コントロールがアプリケーション セットにコンパイルされます。

反復的
開発

Web ページをデバッグまたは実行するときは、WEB プロジェクト全体をコンパイルする必要があります。

WEB プロジェクト全体のコンパイルは、 Visual Studio が増分コンパイル モードを使用するため、ファイルが変更された後にのみ増分コンパイルされるため、通常は高速になります。

Visual Studio 2005 のコンパイル プロパティを構成できます。サイト全体をコンパイルするか、特定のページをコンパイルするか、何も行わないかを設定できます。最後のケースでは、WEB サイトを実行するとき、Visual Studio はブラウザーを開き、現在のページまたは開始ページにアクセスするだけで、このリクエストが送信されると、ASP .net が動的に開始されます。編集。 このモードでは、ページは動的にコンパイルされるか、さまざまなアプリケーション セットにコンパイルされるため、ページをデバッグまたは実行する場合、プロジェクト全体をコンパイルする必要はありません。エラーのある部品は使用する部品に支障はありません。

デフォルトでは、

WEB

ページを実行またはデバッグすると、Visual StudioWeb サイト プロジェクトを完全にコンパイルします。 これを行うと、コンパイル中のすべてのエラーを確認できます。ただし、開発中、サイト全体を完全にコンパイルすると非常に時間がかかることがあります。したがって、開発およびデバッグ中は現在のページのみをコンパイルすることをお勧めします。

展開

すべてのクラス ファイルはアプリケーション アセンブリにコンパイルされるため、展開するときは、このアプリケーション アセンブリを .aspx ファイル、 .ascx ファイル、およびその他の静的コンテンツ ファイルと一緒に展開するだけで済みます。

このモデルでは、.aspx ファイルはコンパイルされません。ブラウザーがこのページにアクセスすると、動的にコンパイルされます。

ただし、Web 配置プロジェクト ( VS2005 にデフォルトで含まれていない Visual Studio 2005 プラグイン) を使用する場合は、 を置くことができます .asp × ファイルもアプリケーション セットにコンパイルされます。 コードの小さな行を変更するだけの場合は、プロジェクト全体のすべてのコードをコンパイルし、すべてのコードを含むアプリケーション セットを公開する必要もあります。

Web サイトの公開 コマンドを使用すると、.aspx ファイル コードビハインド をコンパイルできますファイルをアプリケーション アセンブリに追加すると、次のようになります。コンパイルされた .aspx ファイルのヘッダーが変更されました。 (注: Build コマンドでは、デプロイ可能なアプリケーションのセットは提供されません) Publish の最新バージョンは、

コードビハインド ファイルのコンパイルのみをサポートするため、展開時に .aspx ファイルは変更されません。 デフォルトでは、Bin ディレクトリ内の複数のアプリケーション セットにプリコンパイルされます。通常、1 つのディレクトリが 1 つのアプリケーション セットに対応します。

固定名 デプロイメント オプションを使用すると、各 WEB

ページまたは各 WEB ユーザー コントロールにアプリケーション セットを作成できるため、各ページにデプロイ可能なアプリケーション セットが含まれます。ただし、固定名 デプロイメント オプションを使用すると、アプリケーション セットの数が増加し、実際のメモリ使用量も増加します。

Visual Studio .NET 2003からにアップグレード

VS2003と同じWEBプロジェクト開発モデルを使用しているため、アップグレードは非常に簡単です。

Web サイト

プロジェクトのコンパイル オプションが異なるため、Visual Studio .NET 2003WEB プロジェクトとは大きく異なります。

Microsoft は変換ウィザードを提供していますが、プロジェクトが複雑な

VS2003 プロジェクトの場合、この変換ウィザードを使用した後も、変換マニュアルを参照して多くの作業を行う必要があります。

VS2003からアップグレードしたい場合は、このWEBサイト開発テンプレートを使用しないことをお勧めします。代わりに、Web アプリケーション プロジェクトを使用してください。

オプションまたはタスク

Webアプリケーションプロジェクト

Web サイトプロジェクト

VS2005 に移行する必要がある大規模な Visual Studio .NET 2003 Webアプリケーションがあります。

シングルページ コード モデルを使用して Web サイトのページを開発するのが好きです。 分離コード モデルを使用して Web サイトのページを作成する代わりに

次のような方法でウェブサイトを作成するのが好きです:

ページを作成するとき、作成効果をすぐに確認するために、ページを動的にコンパイルすると、サイト全体をコンパイルしなくても、すぐに効果を確認できます。

(つまり、作成した効果を確認するには、ファイルを保存してブラウザで更新するだけです)

コンパイルされたアプリケーションセットの名前を制御する必要があります

ページごとに 1 つのアプリケーション セットが必要です

WEB ページまたは WEB ユーザー コントロールでは別のクラスを使用する必要があります。

Web アプリケーションを構築するには、複数の Project を使用する必要があります。

ビルド前 ビルド後 イベントを処理する必要があります (コンパイルの前後に独自の追加処理が必要です)

新しい プロジェクト ファイルを作成することなく、ディレクトリを WEBアプリケーションとして扱えるようにしたいと考えています。

以上がVS での新しい Web サイトの作成と新しい WEB プロジェクトの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。