リリース時のVisual Studio 2005でのASP.NET開発は、Web Site Projectを用いていましたが、SP1にはWeb Application Projectが標準追加されました。

** Web Site Project [#tb10e009]
- Visual Studio 2005からの新形式
- フォルダ(またはaspx)単位で、複数のDLLが生成される。
-- Webアプリケーション全体を再コンパイルしたり再転送することなく、コンポーネント毎にアップデートできる。
- プロジェクトファイル(*.csproj等)やAssemblyInfo.csがない。
- .aspxに対して、.aspx.csのみが付随する。
- FxCopや.Testでは解析できないようだ。DevPartnerは一応解析可能だが…。
- Release Buildできない?
-- Microsoft AJAX 1.0のProxy呼び出しJavaScriptのURLが、どうしても"js"ではなく"jsdebug"になってしまう。

** Web Application Project [#afebccba]
- [[MSDN:http://msdn2.microsoft.com/ja-jp/asp.net/aa336618(en-us).aspx]]
- [[Scott Guthrie氏のWebサイト:http://webproject.scottgu.com/]]
- Visual Studio 2003でのASP.NET開発とほぼ同じ。
- プロジェクトファイル(*.csproj等)やAssemblyInfo.csがあり、プロジェクト1つに対して1つのDLLがビルドされる等、通常のC#プロジェクトと同様に扱える。
- .aspxに対して、.aspx.csと.aspx.designer.csの2ファイルが作成される。
- 静的コード解析ツール等も実施可能。
- ソース変更時には、Webアプリケーション全体を再コンパイルする必要がある。
-- そのためか、開発時、Visual Studioのメモリ消費量大め。

** Web Site → Web App 変換 [#h7f48acf]
- [[Scott Guthrie氏のWebサイト:http://webproject.scottgu.com/CSharp/migration2/migration2.aspx]] が参考になる。
- 基本的には、Web Site Project内の必要なファイルをWeb Application Projectにコピーして、Visual Studioから[Webアプリケーションに変換]処理を実施するだけで問題ない。
- Web Siteでは許されていた記述ルールが、Web Appでは許可されずビルドできないことがある。ソースコードを見直すべき。
++ Web Site ProjectでASP名前空間に属する型(ユーザーコントロール等)を利用していた場合、Web Site Projectでは利用できない。自動生成される内部クラス型ではなく、公開されたクラス型を利用するように変更すべき。
++ ASP名前空間をusingしていれば、それもビルドエラーになる。
++ partial classとして同じ名前空間.クラス名で定義されているクラス内で、同じ名称のフィールド、プロパティ、メソッドが存在する場合、ビルドエラーになる。Web Site Projectの場合はエラーにならない。むしろ、そちらが不自然。
++ web.configに登録されているユーザーコントロールが、aspxで再登録されていた場合、ビルドエラーになる。Web Site Projectの場合はエラーにならない。登録箇所をどちらかに寄せるべき。

** Web App → Web Site 変換 [#vb764501]
- 不明



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS