我知道Core 2正在远离web.config并转向Json配置。但是,我遇到了一个问题,我的IIS 7服务器安装了WebDav,阻止了对我的webapi的HTTP PUT请求。
以下链接通过删除WebDav提供了可行的解决方案;
Remove WebDav Web.Config for Core 1
我遇到的问题是,我需要将每次发布时添加到生成的web.config中,因为每次发布都会覆盖它。
我可以将web.config添加到我的Asp.Net Core 2 webapi吗?或者告诉它将它添加到它正在生成的那个?
答案 0 :(得分:1)
在Asp.Net Core 2.1中,我将web.config文件添加到项目的根目录中,然后从模块和处理程序中删除WebDAV
<system.webServer>
<modules runAllManagedModulesForAllRequests="false" xdt:Transform="Insert" >
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV"/>
</handlers>
</system.webServer>
发布项目时将生成web.config文件。 它对我有用。
答案 1 :(得分:0)
您只需添加&#39;始终复制&#39;属性到任何文件以自动将其添加到构建文件夹。
您也可以使用配置文件转换。我相信他们应该使用.Net Core。在您的情况下,您想要创建web.release.config
:
右键单击Web.config文件,然后单击“添加配置转换”。
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="false" xdt:Transform="Insert" >
<remove name="WebDAVModule" />
</modules>
</system.webServer>
</configuration>