Last-modified: 2009-01-18 (日) 03:17:24 (5791d)

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

Web Site Project

  • 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

  • MSDN
  • Scott Guthrie氏のWebサイト
  • 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 変換

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

Web App → Web Site 変換

  • 不明

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS