我在 Visual Studio 2015 中创建了一个“空”ASP.Net 5 项目。该project.json
文件包含这些行
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
我正在 Windows 10 开发 PC 上进行测试并计划部署到 Azure,因此,按照Servers 文档中的建议,我想使用 IIS 而不是 Kestrel。
然而,将 Kestrel 淘汰并非易事。首先,我从文件中删除与 Kestrel 相关的行project.json
:
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
},
"commands": {
},
这无法构建并出现多个错误(“命名空间‘Microsoft.AspNet’中不存在类型或命名空间名称‘Hosting’”、“命名空间‘Microsoft.Extensions’中不存在类型或命名空间名称‘DependencyInjection’ ”、“找不到类型或命名空间名称‘IServiceCollection’”和“当前上下文中不存在名称‘WebApplication’”)所以我添加dependencies
以修复错误,给出以下内容(成功构建)
"dependencies": {
"EntityFramework.Core": "7.0.0-rc1-final",
"Microsoft.AspNet.Hosting": "1.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final"
},
"commands": {
},
但是它不会运行 - 只是无限期挂起,但它还会将该行添加"web": "Microsoft.AspNet.Server.Kestrel"
回commands
in project.json
。
如果我不想使用 Kestrel,而只想使用 IIS / IIS Express,那么“Hello World”ASP.Net 5 项目中文件的dependencies
andcommands
部分应该是什么样子?project.json