4. Microsoft Web技術の歴史
1. PHPライクな、Active Server Pagesが元
<% Response.Write(“こんにちは") %>
2. WinFormエンジニア向けASP.NETが登場
<asp:Label id=“Label1” />
3. Webエンジニア向けASP.NET MVC登場
@ViewBag.Message
約6年に1回大規模なアップデートが・・
2014年~2015年 ASP.NET vNext登場予定
次はどうなるのでしょうか・・・?
年 名前 関連技術
1996 ASP1.0 IIS3.0同梱(VBScript)
1997 ASP2.0 IIS4.0同梱
2000 ASP3.0 IIS5.0同梱
2002 ASP.NET1.0 VS.NET同梱(C#/VB.NET)
2003 ASP.NET1.1 VS2003同梱
2005 ASP.NET2.0 VS2005同梱
2007 ASP.NET3.5 VS2008同梱 MS AJAX
2009 MVC1.0 VS2008に追加
2010 MVC2.0 VS2010同梱 jQuery
2011 MVC3.0 VS2010に追加 NuGet
Web Pages(Razor)
2012 ASP.NET4.5 VS2012同梱
2012 MVC4.0 VS2012同梱
Web API / SignalR
2013 MVC5.0 VS2013同梱
One ASP.NET
2014-5 vNext/MVC6 VS 14 同梱
5. ASP.NET vNextの特徴
公式ブログによれば、以下がvNextの特徴(訳 適当)
クラウド最適化:Cloud-Optimized
サイドバイサイド:Side by side support
開発者のウキウキ体験:Enhanced developer experience
WebサイトとWebサービスでのシングルプログラミングモデル:A single
programming model for building Web sites and services
モジュラースタック:Modular Stack
DI(IoC)コンテナ内包: Dependency Injection
コンフィグ:Configuration
オープンソース:Open Source
クロスプラットフォーム:Cross-platform support
15. Core45(K1.0)の時も実行結果は同じに見えるけど・・・
'iisexpress.exe' (CoreCLR: DefaultDomain): Loaded
'C:Usersaoki.krepackagesKRE-svrc50-x86.1.0.0-alpha2binmscorlib.dll'.
Cannot find or open the PDB file.
'iisexpress.exe' (CoreCLR: klr.core45.managed): Loaded
'C:Usersaoki.krepackagesKRE-svrc50-x86.1.0.0-
alpha2binklr.core45.managed.dll'. Cannot find or open the PDB file.
'iisexpress.exe' (CoreCLR: klr.core45.managed): Loaded
'C:Usersaoki.krepackagesKRE-svrc50-x86.1.0.0-alpha2binSystem.Runtime.dll'.
Module was built without symbols.
'iisexpress.exe' (CoreCLR: klr.core45.managed): Loaded
'C:Usersaoki.krepackagesKRE-svrc50-x86.1.0.0-
alpha2binSystem.Runtime.Extensions.dll'. Module was built without symbols.
'iisexpress.exe' (CoreCLR: klr.core45.managed): Loaded
'C:Usersaoki.krepackagesKRE-svrc50-x86.1.0.0-
alpha2binSystem.Threading.Tasks.dll'. Module was built without symbols.
ブラウザに表示される画面は全く同じ
だけど、デバッグログが少し違う
.NET Frameworkの主要アセンブリを
GAC(C:WindowsMicrosoft.NETassembly)
ではなく、ログインユーザーの
KRE(.krepackagesKRE-svrc50-x86.1.0.0-
alpha2bin)というフォルダから読みこんでいる。
31. kvm updateコマンドで最新KREを取得
実行例
> kvm upgrade
Determining latest version
Downloading KRE-svr50-x86.1.0.0-alpha3-10220 from
https://www.myget.org/F/aspnetvnext/api/v2
Unpacking to C:Usersaoki.krepackagestemp
Installing to C:Usersaoki.krepackagesKRE-svr50-x86.1.0.0-alpha3-10220
Adding C:Usersaoki.krepackagesKRE-svr50-x86.1.0.0-alpha3-10220bin to
process PATH
Adding C:Usersaoki.krepackagesKRE-svr50-x86.1.0.0-alpha3-10220bin to
user PATHSetting alias 'default' to 'KRE-svr50-x86.1.0.0-alpha3-10220'
kvm upgrade
kvmコマンドのupgradeオプションで、最新バージョンを取得できる。
上書きされるわけではなく、あたらしいバージョンがダウンロードされ、
KRE_HOMEに設定される。
MyGetは、野良NuGetサービスのようなも
のだが、Microsoftも使っているお墨付き。
オープンソースや小規模案件では無償で利
用できる。
お金を払えばプライベートNuGetサーバー
を立てられる。依存性管理を行うアプリ開
発を行う場合には利用してみるとよさそう
PS C:Usersaoki> k
Usage: k [options] [command]
Options:
--watch Watch file changes
--packages <PACKAGE_DIR> Directory containing packages
--configuration <CONFIGURATION> The configuration to run under
-?|-h|--help Show help information
--version Show version information
Commands:
run Run application
PS C:Usersaoki> kpm
Usage: kpm [options] [command]
Options:
-v|--verbose Show verbose output
-?|-h|--help Show help information
--version Show version information
Commands:
restore Restore packages
help Show help information
pack Bundle application for deployment
build Build NuGet packages for the project in given directory
add Add a dependency into dependencies section of project.json
Use "kpm help [command]" for more information about a command.
Usage: klr [options]
Options:
--lib <LIB_PATHS> Paths used for library look-up
-?|-h|--help Show help information
--version Show version information