当我在Visual Studio 2015中进行本地发布时。它发布包含以下内容的web.config:
<httpPlatform processPath="..\approot\web.cmd"/>
并且该网站有效。但是当我进行Web部署时,它会发布包含以下内容的web.config:
<httpPlatform processPath="%home%\site\approot\web.cmd" />
,网站找不到web.cmd并且无法正常工作。如何通过web部署在web.config中使用字符串“.. \ approot \ web.cmd”而不使用%home%发布项目?
答案 0 :(得分:0)
您可以提供的一些有用信息here
当Visual Studio将ASP.NET Core应用程序部署到Azure App Service时, 它之前将一个名为DNU_PUBLISH_AZURE的环境变量设置为1 调用dnu发布。这告诉dnu发布填写正确 值,是:
<httpPlatform processPath="%home%\site\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout.log" startupTimeLimit="3600"></httpPlatform>
将值0或false设置为变量DNU_PUBLISH_AZURE将返回正常路径。
Azure环境在发布配置文件中的pubxml中以字符串形式打开:
<_DestinationType>AzureWebSite</_DestinationType>
在我的情况下,我应该删除此字符串。