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フォールバックの設定をすることができる。
リンクのさせ方 †
ヘッダでリンク †
- 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