我需要将以下内容添加到我发布的web.config;
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule" />
</modules>
我正在使用Asp.Net Core 2发布,但它似乎没有起作用;
$webConfig = (Get-Item -Path ".\").FullName + "\Bemfeito.Services.WebApi\obj\Release\netcoreapp2.0\PubTmp\Out\web.config"
$doc = (gc $webConfig) -as [Xml]
$moduleNode = $doc.CreateElement("modules")
$moduleNode.SetAttribute("runAllManagedModulesForAllRequests", "false")
$removeNode = $moduleNode.CreateElement("remove")
$removeNode.SetAttribute("name","WebDAVModule")
$moduleNode.AppendChild($removeNode)
$doc.configuration.system.webServer.AppendChild($moduleNode)
$doc.Save($webConfig)
(我在webdeploy上添加这个作为预发布选项)我认为它与正确抓取和/或提交保存有关吗?有人可以告诉我我哪里出错了吗?
答案 0 :(得分:0)
添加到节点有很多问题,但主要的问题是我追加到configuration.system.webServer.AppendChild
的事实。实际上这应该是configuartion.'system.webServer'.AppendChild
作为参考,我的完整脚本是;
$webConfig = (Get-Item -Path ".\").FullName +
"\Services.WebApi\obj\Release\netcoreapp2.0\PubTmp\Out\web.config"
$doc = (gc $webConfig) -as [Xml]
$moduleNode = $doc.CreateElement("modules")
$moduleNode.SetAttribute("runAllManagedModulesForAllRequests", "false")
$removeNode = $doc.CreateElement("remove")
$removeNode.SetAttribute("name","WebDAVModule")
$moduleNode.AppendChild($removeNode)
$doc.configuration.'system.webServer'.AppendChild($moduleNode)
$doc.Save($webConfig)