为什么 Web 部署后 Visual Studio 2015 更改 web.config?
Why Visual Studio 2015 changes web.config after web deploy?
当我在 Visual Studio 2015 年进行本地发布时。它发布了 web.config,其中包含:
<httpPlatform processPath="..\approot\web.cmd"/>
网站正常运行。但是当我进行网络部署时,它会发布 web.config 其中包含:
<httpPlatform processPath="%home%\site\approot\web.cmd" />
,网站无法找到 web.cmd,无法正常工作。我如何通过 Web 部署在 web.config 中发布带有字符串“..\approot\web.cmd”而没有 %home% 的项目?
您可以找到一些有用的信息here
When Visual Studio deploys an ASP.NET Core app to Azure App Service,
it sets an environment variable called DNU_PUBLISH_AZURE to 1 before
calling dnu publish. This tells dnu publish to fill in the correct
values, which are:
<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>
在我的例子中,我应该删除这个字符串。
当我在 Visual Studio 2015 年进行本地发布时。它发布了 web.config,其中包含:
<httpPlatform processPath="..\approot\web.cmd"/>
网站正常运行。但是当我进行网络部署时,它会发布 web.config 其中包含:
<httpPlatform processPath="%home%\site\approot\web.cmd" />
,网站无法找到 web.cmd,无法正常工作。我如何通过 Web 部署在 web.config 中发布带有字符串“..\approot\web.cmd”而没有 %home% 的项目?
您可以找到一些有用的信息here
When Visual Studio deploys an ASP.NET Core app to Azure App Service, it sets an environment variable called DNU_PUBLISH_AZURE to 1 before calling dnu publish. This tells dnu publish to fill in the correct values, which are:
<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>
在我的例子中,我应该删除这个字符串。