ASP.Net Core app.UseStaticFiles не работает в Production (Azure), вызовы статических файлов сбрасываются на маршрут по умолчанию - PullRequest
1 голос
/ 18 мая 2019

У меня есть приложение ASP.Net Core, которое также использует Angular.На моем локальном компьютере он может обслуживать статические файлы, такие как js и изображения.При развертывании в Azure вызовы статических файлов возвращают маршрут по умолчанию (который возвращает страницу приложения Angular по умолчанию).

В моих файлах Startup.cs я использую «app.UseStaticFiles».Это работает локально.

Мой Startup.cs найден здесь .

Может ли это быть проблемой конфигурации Azure?Или какая-то логика, присутствующая в среде разработки, но не в производстве?

Ответы [ 2 ]

1 голос
/ 26 мая 2019

Для всех, кто сталкивался с этой проблемой, когда UseStaticFiles фактически находится в автозагрузке, моя проблема была проста: мои файлы подпапок не были помечены как CopyAlways (для выходной папки).

0 голосов
/ 18 мая 2019

Ваша конфигурация отсутствует, вам нужно добавить это в конце ConfigureServices

 // In production, the Angular files will be served from this directory
 services.AddSpaStaticFiles(configuration =>
 {
    configuration.RootPath = "ClientApp/dist";
  });

Затем в Configure убедитесь, что конвейер находится в правильном порядке, как это

app.UseStaticFiles();
app.UseSpaStaticFiles();

//put this at the end of Configure method
app.UseSpa(spa =>
{
   // To learn more about options for serving an Angular SPA from ASP.NET Core,
   // see https://go.microsoft.com/fwlink/?linkid=864501

   spa.Options.SourcePath = "ClientApp";

   if (env.IsDevelopment())
   {
      spa.UseAngularCliServer(npmScript: "start");
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...