Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z bieżącą wersją, zobacz wersję tego artykułu platformy .NET 9.
Ważne
Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Aby zapoznać się z bieżącą wersją, zobacz wersję tego artykułu platformy .NET 9.
Autor: Vijay Ramakrishnan
Przekształcenia w pliku web.config można stosować automatycznie po opublikowaniu aplikacji na podstawie:
Te przekształcenia są wykonywane w przypadku jednego z następujących scenariuszy generowania pliku web.config :
- Generowane automatycznie przez zestaw
Microsoft.NET.Sdk.Web
SDK. - Udostępniony przez dewelopera w katalogu głównym zawartości aplikacji.
Konfiguracja kompilacji
Najpierw są uruchamiane przekształcenia konfiguracji kompilacji.
Uwzględnij sieć Web.{ CONFIGURATION}.config pliku dla każdej konfiguracji kompilacji (debugowanie|Wydanie) wymagające przekształcenia web.config .
W poniższym przykładzie zmienna środowiskowa specyficzna dla konfiguracji jest ustawiana w Internecie. Release.config:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location>
<system.webServer>
<aspNetCore>
<environmentVariables xdt:Transform="InsertIfMissing">
<environmentVariable name="Configuration_Specific"
value="Configuration_Specific_Value"
xdt:Locator="Match(name)"
xdt:Transform="InsertIfMissing" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
Transformacja jest stosowana, gdy konfiguracja jest ustawiona na Wydanie:
dotnet publish --configuration Release
Właściwość MSBuild dla konfiguracji to $(Configuration)
.
Profil
Przekształcenia profilu są uruchamiane na sekundę po przekształceniu konfiguracji kompilacji .
Uwzględnij sieć Web.{ PROFILE}.config pliku dla każdej konfiguracji profilu wymagającej przekształcenia web.config .
W poniższym przykładzie zmienna środowiskowa specyficzna dla profilu jest ustawiana w Internecie. FolderProfile.config dla profilu publikowania folderu:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location>
<system.webServer>
<aspNetCore>
<environmentVariables xdt:Transform="InsertIfMissing">
<environmentVariable name="Profile_Specific"
value="Profile_Specific_Value"
xdt:Locator="Match(name)"
xdt:Transform="InsertIfMissing" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
Przekształcenie jest stosowane, gdy profil to FolderProfile:
dotnet publish --configuration Release /p:PublishProfile=FolderProfile
Właściwość MSBuild dla nazwy profilu to $(PublishProfile)
.
Jeśli profil nie zostanie przekazany, domyślną nazwą profilu jest FileSystem i internet. PlikSystem.config jest stosowany, jeśli plik znajduje się w katalogu głównym zawartości aplikacji.
Środowisko
Przekształcenia środowiska są uruchamiane na trzecim miejscu po przekształceniu konfiguracji kompilacji i profilu .
Uwzględnij sieć Web.{ ENVIRONMENT}.config plik dla każdego środowiska wymagającego przekształcenia web.config .
W poniższym przykładzie zmienna środowiskowa specyficzna dla środowiska jest ustawiana w Internecie. Production.config dla środowiska produkcyjnego:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location>
<system.webServer>
<aspNetCore>
<environmentVariables xdt:Transform="InsertIfMissing">
<environmentVariable name="Environment_Specific"
value="Environment_Specific_Value"
xdt:Locator="Match(name)"
xdt:Transform="InsertIfMissing" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
Transformacja jest stosowana, gdy środowisko jest produkcyjne:
dotnet publish --configuration Release /p:EnvironmentName=Production
Właściwość MSBuild dla środowiska to $(EnvironmentName)
.
Podczas publikowania z programu Visual Studio i korzystania z profilu publikowania zobacz Profile publikowania programu Visual Studio (pubxml) dla wdrożenia aplikacji ASP.NET Core.
Zmienna ASPNETCORE_ENVIRONMENT
środowiskowa jest automatycznie dodawana do pliku web.config po określeniu nazwy środowiska.
Niestandardowy
Przekształcenia niestandardowe są uruchamiane ostatnio, po przekształceniu konfiguracji kompilacji, profilu i środowiska .
Dołącz plik {CUSTOM_NAME}.transform dla każdej konfiguracji niestandardowej wymagającej przekształcenia web.config.
W poniższym przykładzie niestandardowa zmienna środowiskowa przekształcenia jest ustawiana w pliku custom.transform:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location>
<system.webServer>
<aspNetCore>
<environmentVariables xdt:Transform="InsertIfMissing">
<environmentVariable name="Custom_Specific"
value="Custom_Specific_Value"
xdt:Locator="Match(name)"
xdt:Transform="InsertIfMissing" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
Przekształcenie jest stosowane po CustomTransformFileName
przekazaniu właściwości do polecenia dotnet publish :
dotnet publish --configuration Release /p:CustomTransformFileName=custom.transform
Właściwość MSBuild dla nazwy profilu to $(CustomTransformFileName)
.
Zapobieganie przekształceniu pliku web.config
Aby zapobiec przekształceniom pliku web.config , ustaw właściwość $(IsWebConfigTransformDisabled)
MSBuild :
dotnet publish /p:IsWebConfigTransformDisabled=true