У меня есть основное приложение dotnet, которое я развертываю удаленно на тестовом сервере. Для переменной ASPNETCORE_ENVIRONMENT на удаленном компьютере должно быть установлено значение «Разработка». Каждый раз, когда я развертываю, переменная ASPNETCORE_ENVIRONMENT перезаписывается словом «Разработка». Мне приходится заходить в редактор конфигурации администратора IIS и заменять неправильную переменную ASPNETCORE_ENVIRONMENT при каждом развертывании.
Может ли кто-нибудь помочь мне понять, почему эта переменная перезаписывается каждый раз, когда я развертываю?
Вот мой файл web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation>
<buildProviders>
<remove extension=".xml" />
<add extension=".xml" type="System.Web.Compilation.ForceCopyBuildProvider" />
</buildProviders>
</compilation>
</system.web>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\WorkersCompensation.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true">
<environmentVariables>
<clear />
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>
Вот мой файл Dev.pubxml:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework>netcoreapp1.0</PublishFramework>
<UsePowerShell>True</UsePowerShell>
<publishUrl>\\esdev2.elwood.local\D$\Core\WorkersCompensation </publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
<ExcludeFoldersFromDeployment>wwwroot\node_modules </ExcludeFoldersFromDeployment>
<UseMsDeployExe>true</UseMsDeployExe>
</PropertyGroup>
<ItemGroup>
<MsDeploySkipRules Include="SkipNodeModules">
<AbsolutePath>wwwroot\node_modules</AbsolutePath>
</MsDeploySkipRules>
</ItemGroup>
</Project>