【发布时间】:2017-07-11 23:03:45
【问题描述】:
我正在编写一个使用 WebListener 而不是 Kestrel 的 ASP.NET Core 应用程序(在完整的 .NET Framework 上)。¹我正在使用带有 Update 3 的 Visual Studio 2015 和“.NET Core 1.0. 1 工具预览 2"(在撰写本文时,download site 上的最新 VS 工具)。
因为我正在使用 WebListener,并且因为WebListener is not compatible with IIS Express,我想在 Visual Studio 中禁用“IIS Express”启动配置文件,这样当我的队友打开这个解决方案时,他们的 Visual Studio 将默认运行控制台应用程序而不是 IIS Express,他们将能够直接点击运行而不会出错。
但到目前为止,我还无法摆脱 VS 的“IIS Express”启动配置文件。 Project Properties > Debug 选项卡允许我编辑配置文件列表,但是当我选择“IIS Express”配置文件时,“删除”按钮被禁用。如果我直接编辑launchSettings.json,并从“配置文件”下删除“IIS Express”元素,“文件”>“保存”操作会将“IIS Express”配置文件静默插入到它保存到磁盘的JSON中!
显然微软真的希望始终拥有“IIS Express”启动配置文件,即使它不一定与所有 ASP.NET Core 项目兼容。但值得一问:有没有人找到一种方法来禁用 ASP.NET Core 项目中的“IIS Express”启动配置文件,并且只有自托管选项( s) 在启动配置文件选择器中?
¹ 出于好奇,我使用 WebListener 是因为它可以让我在没有安装 IIS 的机器上自行托管在 Windows 服务中,并且仍然支持 NTLM 身份验证。 Kestrel 仅在托管在 IIS 中时才支持 NTLM,在自托管时不支持。
【问题讨论】:
标签: .net visual-studio-2015 asp.net-core