• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mac中体验ASP.NET 5 beta2的K gen代码生成

    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.

    您可能感兴趣的文章:
    • MAC上Mysql忘记Root密码或权限错误的快速解决方案
    • Mac操作系统下MySQL密码忘记后重置密码的方法
    • mysql 5.7.13 安装配置笔记(Mac os)
    • MAC下mysql安装配置方法图文教程
    • 解析Mac OS下部署Pyhton的Django框架项目的过程
    • js组件SlotMachine实现图片切换效果制作抽奖系统
    • Mac 安装和卸载 Mysql5.7.11 的方法
    • Mac入门使用VMware Fusion虚拟机
    上一篇:VS2015 update2安装历程
    下一篇:解读ASP.NET 5 & MVC6系列教程(4):核心技术与环境配置
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mac中体验ASP.NET 5 beta2的K gen代码生成 Mac,中,体验,ASP.NET,beta2,的,