Добавление статического содержимого в преобразование веб-конфигурации
У меня есть файл 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)" />