如何部署或运行 NETCore.App 1.0.0-rc2-3002702



在我将应用程序迁移到 RC2 或非常具体 V. 1.0.0-rc2-3002702 之后,我正在努力部署我的应用程序。我注意到发布目录中的文件夹"approot"不再存在,并且还有"web.cmd"文件。我尝试在IIS上部署它,但我得到的只是找不到"无法访问此站点"的页面。在官方的MS dotnet核心文档网站上,它就像"在你的IIS中创建新网站编辑基本设置,你很高兴......"

也许

我对类似帖子的回答会有所帮助:https://stackoverflow.com/a/37301527/166928

不要像RC1那样将IIS指向wwwroot,而是指向根文件夹。

此外,您的服务器需要具有 DotNetCore.1.0.0.RC2-WindowsHosting.exe

您需要确保尝试部署到的服务器已安装 HTTPPlatformHandler。

您还需要确保您的 project.json 引用了 IISIntegration 包,并且包含包含您的 web.config。它应该看起来像这样:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true,
    "debugType": "portable"
  },
  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config"
    ]
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-3002702"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-*",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
    "Microsoft.Extensions.Logging.Console": "1.0.0-*",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-*" 
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}

您的 web.config 将如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" 
           resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" 
                stdoutLogEnabled="false" stdoutLogFile=".logsstdout"  
                forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

注意:如果不从 Visual Studio 内部发布,环境变量LAUNCHER_PATH和LAUNCHER_ARGS可能会给您带来一些麻烦。

若要在 Azure VM 上启动并运行 RC2 站点,我必须将该行更改为如下所示:

<aspNetCore processPath="dotnet" arguments="./YourAppEntryPoint.dll" 
            stdoutLogEnabled="false" stdoutLogFile=".logsstdout" 
            forwardWindowsAuthToken="false"/>

相关内容

最新更新