Команда "dotnet run" работает иначе, чем в Visual Stuido 2017 - PullRequest
0 голосов
/ 13 января 2019

Итак, основная проблема - это CORS:

У меня есть немного API в Net Core 2.1 и приложение Angular 7. Когда я запускаю API в Visual Studio 2017, политика CORS работает нормально , но когда я запускаю его с "dotnet run", в браузере появляется типичная ошибка CORS.

Я уже установил среду разработки:

setx ASPNETCORE_ENVIRONMENT "Development"

Это конфигурация CORS в Startup.cs

if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseCors(x => x
                .WithOrigins("http://localhost:4200")
                .AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials());
        }

Visual Studio 2017 делает то, что мне не хватает?

Спасибо.

1 Ответ

0 голосов
/ 14 января 2019

Для указания Development в dotnet run попробуйте выполнить команду ниже:

D:\xx\TestPro\TestPro\bin\Debug\netcoreapp2.2>set ASPNETCORE_ENVIRONMENT=Development

А затем запустить

D:\xx\TestPro\TestPro\bin\Debug\netcoreapp2.2>dotnet TestPro.dll

Для setx ASPNETCORE_ENVIRONMENT "Development" он не будет работать для текущего окна команды выполнения, что означает, что после запуска этой команды в первом cmd.exe windows вам необходимо запустить новое окно для запуска dotnet.

Ссылка: setx # remarks

Setx записывает переменные в основную среду в реестре. Переменные, заданные с помощью переменных setx, доступны в будущей команде только окна, но не в текущем командном окне.

...