ASP.NET 5 beta2中增加了一个新特性,可以通过K命令生成MVC的代码,比如:k gen controller -name HomeController。
如果你用的是Visual Studio,自然对这个功能不以为然,因为Visual Studio帮你干了。
如果你用的是Mac,没有Visual Studio,也没有K Studio,不想自虐手写本可以通过模板生成的MVC代码,这个特性就值得关注了。
由于对Mac下写ASP.NET代码垂涎已久,一发现这个特性,就立马想尝试一下。但网上根本没有相关资料,只能自己摸索了。
首先在project.json的dependencies中将所有1.0.0-beta1改为1.0.0-beta2,也就是升级为ASP.NET 5 beta2的包包。
{ "dependencies": { "Microsoft.AspNet.Server.IIS": "1.0.0-beta2", "Microsoft.AspNet.Diagnostics": "1.0.0-beta2", "Microsoft.AspNet.Hosting": "1.0.0-beta2", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta2", "Microsoft.AspNet.StaticFiles": "1.0.0-beta2" } }
接下来就是给K增加gen功能(k gen),在project.json的commands中增加如下配置,告诉K在Microsoft.Framework.CodeGeneration这个包包中找这个命令:
{ "commands": { "gen": "Microsoft.Framework.CodeGeneration" } }
再接下来就是把Microsoft.Framework.CodeGeneration这个包包下载下来,这是KPM干的活,在project.json在dependencies中添加引用,并运行kpm restore:
{ "dependencies": { "Microsoft.Framework.CodeGeneration": "1.0.0-beta2" } }
kpm restore
原认为这样就大功告成了,结果运行 k gen controller -name HomeController 却出现错误提示:
No code generators found with the name 'controller'
于是在这里卡住了,差点放弃。
后来想想可能有专门的包包进行controller的代码生成,在GitHub上浏览ASP.NET Repo List时发现一个东东:
Scaffolding - code generators to speed up development
也许这个活就是Scaffolding干的。在ASP.NET Scaffolding主页上看到一篇博客的链接——How to customize scaffolding templates for ASP.NET vNext,看了这篇博文之后恍然大悟,原来controller的代码生成是由Microsoft.Framework.CodeGenerators.Mvc负责的。
于是,在project.json的dependencies中添加Microsoft.Framework.CodeGenerators.Mvc:
{ "dependencies": { "Microsoft.Framework.CodeGeneration": "1.0.0-beta2", "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta2" } }
然后kpm restore, 结果nuget/myget服务器抽搐,restore了一个下午加晚上,直到第2天早上才restore成功。
这时再运行 k gen controller -name HomeController ,就成功了:
Finding the generator 'controller'... Running the generator 'controller'... Added Controller : /Controllers/HomeController.cs Adding dependency Microsoft.AspNet.Mvc of version 6.0.0-* to the application.
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。