Open棟梁Project - マイクロソフト系技術情報 Wiki
目次  †
概要  †
以下を行なうことでModernizationが可能と考える。
- BundleConfig?
- Bundle & Minification
 
- CDNフォールバック
 
- 画面からのリンクを設定
 
 
- 個別 の Modernization
- ASP.NET Web Forms の Modernization
 
- ASP.NET MVC の Modernization
 
 
NuGetに登録されているライブラリについては、その取得方法をNuGet化する。
コチラを参照。
コチラを参照。
既存の参照設定してNuGetから取得したものを参照するようにする。
- 参照設定を削除する。
 
- PM> Install-Package XXXXX コマンドにより、パッケージをインストールして参照設定を追加する。
 
- Gitからは、packagesフォルダを削除できる(ビルド時にpackages.configの内容に従って復元されるため)。
 
既存JS、CSSファイル等のNuGet化  †
既存のファイルを削除してNuGetから取得したものを参照するようにする。
- 既存のファイルを削除する。
 
- PM> Install-Package XXXXX コマンドにより、パッケージ(JS、CSSファイル等)を取得する。
 
- JS、CSSファイルの参照方法を変更する(後述のBundleConfigを使用すると良い)。
 
- GitにはContent, fonts, Scriptsフォルダを含める。
- ビルド時にpackages.configの内容に従ってpackagesフォルダは復元されるが、ScriptやContentフォルダは復元されないため。
 
- ScriptやContentフォルダを復元する場合、Visual Studioのパッケージマネージャコンソールから、Update-Packageを行なう。
 
 
既存ライブラリや、JS、CSSファイルの一括更新  †
以下の手順で、ライブラリや、JS、CSSファイルを更新可能。
- packages.configを最新のものに書き換える。
 
- 一度、packagesフォルダ、Content, fonts, Scriptsフォルダを削除する。
 
- ソリューションをリビルドすると、
- packagesフォルダが復元される。
 
- Content, fonts, Scriptsフォルダは復元されない。
 
 
- 以下のように必要なパッケージに対して、Update-Packageを行う。
(全てのパッケージに対して機械的にUpdate-Packageを行っても良い。)
- Content, fonts, Scriptsフォルダを持つパッケージ
- Content, fonts, Scriptsフォルダを持つパッケージの特定する。
復元したpackagesフォルダを調べると、Content, fonts, Scriptsフォルダを持つパッケージを特定できる。 
- Content, fonts, Scriptsフォルダを持つパッケージに対してUpdate-Packageを行う。
 
 
- その他、Updateしたいパッケージ
必要に応じて、その他のパッケージに対しても、Update-Packageを行う。 
 
最新のテンプレート実装を参考にパッケージをインストール  †
新しいバージョンでサポートされた機能に必要なパッケージなどを、
新しいテンプレートのpackages.config等から読み取って、
必要に応じて、Install-Packageによってパッケージをインストールする。
<package id="Microsoft.Net.Http.ja" version="2.0.20710.0" targetFramework="net46" />
OWIN化  †
- ここでは、以下の様なウェブサイトやWebアプリケーションを作成する
フロントエンドWebアプリケーションフレームワークのファイル群を
- Bundle & Minification
 
- CDNフォールバック
 
 
する。
する。
Bundle & Minification  †
Bootstrap  †
- HTML及びCSSベースのデザインテンプレートとして用意されている。
- タイポグラフィ
 
- フォーム
 
- ボタン
 
- ナビゲーション
 
- その他構成要素
 
- JavaScript用拡張
 
- , etc.
 
 
jQuery  †
modernizr  †
ブラウザの機能サポート状況をチェックし、
HTMLタグにサポート状況を判別できるクラスを付与、
結果を記録したmodernizrグローバルオブジェクトを生成する。
Respond.js  †
IE8以下でレスポンシブWebデザインを実現する。
- インストール方法
Install-Package Respond
 
CDNフォールバック  †
機能概要  †
- 著名なフロントエンドWebアプリケーションフレームワークのファイル群はCDNから配布されている。
 
- これらのファイル群をBundle & Minificationする場合、同時に、CDNフォールバックの設定をすることができる。
 
設定の仕方  †
- ScriptBundle?、またはStyleBundle?コンストラクターの第2引数に、CDNの URLを追加
 
- CdnFallbackExpression?プロパティに、ライブラリがロードできたかどうかを判定するための式を指定する。
 
設定の例  †
- StyleBundle?の場合
ScriptBundle?と同じように設定する。 
リンクのさせ方  †
ヘッダでリンク  †
- CSSファイルはヘッダでリンクする。
 
- JSファイルもヘッダでリンクする。
- modernizrなど、初期処理に必要なもの。
 
- ・・・
 
 
フッタでリンク  †
それ以外のJSファイルはフッタでリンクする。
が対象となる。
個別 の Modernization  †
以下を参照。
既定のプロジェクト・テンプレートの調査  †
VS2010  †
OWINもBundle、Routing、Authenticationテンプレートもサポートされていない。
非OWIN
非OWIN
VS2012  †
- OWINは、まだサポートされていない。
 
- Bundle、Routing、Authentication(OAuth)テンプレートがサポートされ始めた。
 
- 以下がサポートされた
- BundleConfig?
 
- RouteConfig?
 
- AuthConfig?
 
 
- モジュール
- Bundleには以下のモジュールが使用されている。
 
 
- Routingには以下のモジュールが使用されている。
- Microsoft.AspNet?.FriendlyUrls?
 
 
- Authentication(OAuth)には以下のモジュールが使用されている。
- DotNetOpenAuth?
 
- Microsoft.AspNet?.Membership
 
- System.Web.Security.Membership
 
 
- Authenticationには以下のモジュールが使用されている。
- OAuthは未サポート
 
- System.Web.Security.Membership
 
 
- 以下がサポートされた
- BundleConfig?
 
- AuthConfig?
 
- ※ MVCでは、RouteConfig? は前からサポートされていた。
( v4 から各Configクラスが外出しになっただけ。) 
 
- モジュール
- Bundleには以下のモジュールが使用されている。
 
 
- Routingには以下のモジュールが使用されている。
 
- Authentication(OAuth)には以下のモジュールが使用されている。
- DotNetOpenAuth?
 
- Microsoft.Web.WebPages?.OAuth
 
- Webmatrix.Webdata.Websecurity
 
- System.Web.Security.Membership
 
 
VS2013  †
- OWIN化対応がなされた。
 
- 様々な認証対応テンプレートも追加された。
 
- 組織アカウントの場合
恐らくWIFを使用してWS-Federationの認証連携を行う。 
- 認証なし、
個人アカウント、組織アカウント、Windows認証
などの認証テンプレートがサポートされた。 
- 個人アカウントの場合
Authenticationは以下のモジュールに変更された。
- Microsoft.AspNet?.Identity.Core
 
- Microsoft.AspNet?.Identity.Owin
 
- Microsoft.Owin.Security
 
 
VS2015  †
ASP.NET Coreがサポートされた。
.NET Framework  †
VS2017  †
・・・
参考  †
Bundle & Minification  †
CDNフォールバック  †
Tags: :.NET開発, :ASP.NET, :ASP.NET Web Forms, :OWIN, :NuGet