如何将.Net Core 1.0项目设置为在调试时使用Local IIS而不是IIS Express

我try 过以各种方式修改launchSettings.json文件.例如,将所有出现的IIS Express替换为Local IIS,并更新applicationUrllaunchUrl以使用我的自定义本地主机http://sample.local(我已经更新了主机文件并配置了IIS管理器),但并不满意.

默认设置为Properties/launchSettings.json个文件:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:38601/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "SampleApp": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

推荐答案

当前无法直接使用IIS托管ASP.NET核心应用程序开发时,由于开发文件夹未提供IIS需要承载的所有必要文件.这使得运行ASP.NET Core在development环境下有点痛苦.

正如this article by Rick Strahl所指出的,没有太多理由try 这样做.IIS在运行ASP时几乎不起作用.NET核心应用程序——事实上,你的应用程序不再直接在IIS进程中运行,而是在一个完全独立的控制台应用程序中运行,该控制台应用程序托管Kestrel web服务器.因此,当您自行托管控制台应用程序时,实际上是在同一个环境中运行的.

如果需要发布应用程序,可以使用dotnet命令行或Visual Studio工具将其发布到本地文件夹.

例如,如果要发布到C:\output文件夹,可以使用以下命令:

dotnet publish
  --framework netcoreapp1.0 
  --output "c:\temp\AlbumViewerWeb" 
  --configuration Release

然后,您可以将IIS站点指向输出文件夹.确保将应用程序池CLR版本设置为No Managed Code,并且AspNetCoreModule可用.

有关更多详细信息,请参阅https://docs.asp.net/en/latest/publishing/iis.html

Asp.net相关问答推荐

如何从 Azure 上托管的应用服务获取登录用户名?

在每个对象上设置 ClientIDMode = Static 是否有任何缺点(在母版页的 maincontent 上设置)

无法加载文件或程序集.无效指针(HRESULT 异常:0x80004003 (E_POINTER))

IIS HTTP 错误 500.19

测试项目中的 App.config

如何将 global.asax 文件添加到 ASP.NET MVC4 项目?

是否有用于 Asp.net 标记的#IF DEBUG?

当用户使表单无效时单击取消按钮时,如何清除 MVC 客户端验证错误?

如何从 JS 访问 ViewBag

Ef core:执行 MaxAsync 时序列不包含任何元素

防止在 Visual Studio 2008 ASP.NET Web 窗体中复制粘贴时自动生成 ID

如何在不预编译的情况下使用命令行msbuild部署VS2012网站项目?

哪个控件导致了回发?

将 MemoryStream 写入响应对象

ASP.NET 身份提供程序 SignInManager 不断返回失败

如何将列表转换为数据表

ContentResult 与字符串

将 C# ASP.NET 数组传递给 Javascript 数组

asp.net core 2.0 - 值不能为空.参数名称:连接字符串

使用 FileUpload Control 获取文件的完整路径