解读ASP.NET 5 & MVC6系列教程(3):项目发布与部署

2019-05-22 14:51:39王振洲

基本上和解决方案里的project.json文件相同,唯一的不同就是webroot的相对路径的修改。

预编译dll模式
原来引用的众多程序集从dependencies节点中移除了,取而代之的是BookStore程序集引用,示例如下:

"dependencies": {
 "BookStore": "1.0.0"
},

另外,还多了如下两个节点值(具体功能暂不明确):

"entryPoint": "BookStore",
"loadable": false

猜想,这些不同,可能是因为在动态编译模式下需要引用这些被移除的程序集进行编译,而预编译dll模式下,都已经编译好了,所以就不再需要这些程序集了,而root目录只需要引用BookStore程序集就可以了,而BookStore程序集对这些程序集的依赖,详细在该dll程序集的nupkg文件里是可以自动解析并下载的吧(这一点待验证)。

以上是新版ASP.NET5项目在发布流程和相关技术的一些内容,从这里大家可以看到,ASP.NET5是彻底模块化了,IIS不再是运行MVC程序的唯一容器,任何兼容DNX的运行容器都可以运行MVC程序,程序发布包被分为approot和wwwroot两个部分,分别存放应用程序集(或源码)和静态文件,从而做到更好的分离。在下一章,我们会讨论,ASP.NET 5的运行原理。

注意:目前还没有办法通过复制源码的形式来进行调试,同时也没办法将IIS指向到源码中进行调试,这将会改变开发人员的开发习惯。