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