Нет руководства, по-видимому, совершенно ясно (по крайней мере, мне) о том, как можно настроить производственные настройки. Они просто говорят о том, как это работает, но нет пошагового руководства. Я сделал следующее:Развертывание сценариев создания/производства Asp.net Core
Попытки изменить переменные среды в проекте с помощью этого Guide
я получаю эту ошибку, несмотря на Microsoft Doc явного указания для повторного использования ASPNETCORE_ENVIRONMENT
. Я не могу сохранить эти настройки
Игнорирование этого вопроса, похоже, вы можете вручную создать эти записи в launchSettings.json
поэтому у меня есть:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:18549/",
"sslPort": 44319
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/v10Staff",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_ENVIRONMENT_T": "Test"
}
},
"IIS Express (Stage)": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/v10Staff",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Stage"
}
},
"ApplicationName": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "http://localhost:60000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_ENVIRONMENT_T": "Test"
}
}
}
Добавление переменной окружения к серверу
Я добавил переменную среды в соответствии с документацией, которую я отправил в Control Panel > System > Advanced system settings.
Добавлена новая переменная пользователя. «ASPNETCORE_ENVIRONMENT» со значением «Stage»
Конфигурация Кусок с помощью этого Guide
Следующий вопрос у меня есть, никто не показывает рабочий «преобразование» в appsettings.Stage.json
. Он просто полностью использует файл Stage над файлом appsettings? Нужно ли просто прямо указывать, что другое? Здесь мы говорим о моих файлах.
appsettings.Stage.json
{
"WebServiceAccount": {
"AccountName": "WebUser",
"AccountPass": "Wedontcarethatthisishere"
},
"ServerLocation": {
"ServerName": "http://appss.domain.com:8080",
"DBConnection": "server=svAppNameSTG;Max Pool Size=6000;database=ES;Integrated Security=SSPI;MultipleActiveResultSets=True"
}
}
appsettings.json
{
"WebServiceAccount": {
"AccountName": "WebUser",
"AccountPass": "testpass1"
},
"ServerLocation": {
"ServerName": "http://appst.domain.com:8080",
"DBConnection": "server=svAppNameTST;Max Pool Size=6000;database=ES;Integrated Security=SSPI;MultipleActiveResultSets=True"
}
}
Я знаю, что настройки и конфигурации частей установлены правильно. Потому что наша тестовая среда работает. Когда я развертываю это на нашем сервере Stage, я подтвердил, что он все еще указывает на поле Test.
Если у кого-нибудь есть руководство или вы можете определить, что не так с этим, это было бы здорово.
потомству
здесь строитель Startup
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();