Asp.Net Core 2中的web.config生成

时间:2018-04-23 10:12:56

标签: asp.net-core-2.0 asp.net-core-webapi

我知道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吗?或者告诉它将它添加到它正在生成的那个?

2 个答案:

答案 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;属性到任何文件以自动将其添加到构建文件夹。

enter image description here

您也可以使用配置文件转换。我相信他们应该使用.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>

More information

Good example