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

时间:2016-05-31 06:43:36

标签: asp.net-core .net-core asp.net-core-1.0 .net-core-rc2

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

2 个答案:

答案 0 :(得分:1)

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

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

{
  "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=".\logs\stdout"  
                forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

注意:如果不从Visual Studio内部发布,环境变量LAUNCHER_PATH和LAUNCHER_ARGS可能会让您感到头疼。

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

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

答案 1 :(得分:1)

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

不要像在RC1中那样将IIS指向www根目录,而是指向根文件夹。

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