Добавление статического содержимого в преобразование веб-конфигурации

У меня есть файл Web.Config для локального тестирования, и у меня есть преобразование web.Release.Deploy.config, в которое я хочу включить статический контент. Я не очень знаком с преобразованиями веб-конфигурации. Я добавил это в web.release.deploy.config.

 <system.webServer xdt:Transform="Insert">
    <staticContent>
      <mimeMap fileExtension=".nupkg" mimeType="application/zip" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
    </staticContent>
  </system.webServer>

Должен ли я добавить правило к этому или синтаксис выглядит правильно?

или это должно выглядеть так, поскольку элемент system.webserver не вставляет только статический контент?

 <staticContent xdt:Transform="Insert">
      <mimeMap fileExtension=".nupkg" mimeType="application/zip" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
    </staticContent>

2 ответа

Решение

Ответ, который работал для меня, был таким.

 <staticContent xdt:Transform="InsertIfMissing">
      <mimeMap fileExtension=".nupkg" mimeType="application/zip" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
    </staticContent>

это сработало, потому что вставка находится в теге статического содержимого. Надеюсь это поможет.

Я знаю, что это старый, но вот как я добавляю дополнительные fileExtensions в мои преобразования:

<staticContent xdt:Transform="InsertIfMissing">
  <remove fileExtension=".css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
  <mimeMap fileExtension=".css" mimeType="text/css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
  <remove fileExtension=".js"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
  <mimeMap fileExtension=".js" mimeType="text/javascript"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
  <remove fileExtension=".jpg"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
  <mimeMap fileExtension=".jpg" mimeType="image/jpeg"  xdt:Transform="InsertIfMissing"  xdt:Locator="Match(fileExtension)" />
  <remove fileExtension=".png"  xdt:Transform="InsertIfMissing"  xdt:Locator="Match(fileExtension)" />
  <mimeMap fileExtension=".png" mimeType="image/png"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
</staticContent>

Это работает для меня, потому что мой начальный web.config уже содержал некоторые существующие значения:

<staticContent>
  <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="31.00:00:00" />
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  <remove fileExtension=".woff2" />
  <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>

Пример для @AsierVillanueva, поскольку я не смог отформатировать комментарий:

<mimeMap fileExtension=".css" mimeType="text/css"  xdt:Transform="Remove" xdt:Locator="Match(fileExtension)" />  
<remove fileExtension=".css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />  
<mimeMap fileExtension=".css" mimeType="text/css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />  
Другие вопросы по тегам