为什么Visual Studio 2015在Web部署后更改了web.config?

时间:2016-05-23 13:47:22

标签: c# asp.net visual-studio web-config web-deployment

当我在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%发布项目?

1 个答案:

答案 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>

在我的情况下,我应该删除此字符串。