В настоящее время пытаюсь заставить проект прошлого года (Core 2.1) работать на компьютере Debian / Apache. После сборки моего приложения Do tNet Core у меня возникла проблема, когда мои env.ContentRootPath и env.WebRootPath показывали соответствующий путь моей windows машины сборки (C: \ blahbla \ MyProject). Поэтому я внес следующие изменения в свой метод configure, указав путь к каталогу для linux.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
env.ContentRootPath = "/var/www/admin.example.com";
env.WebRootPath = "/var/www/admin.example.com/wwwroot";
}
app.UseAuthentication();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
Я думал, что это приведет к тому, что они будут работать на моих html страницах.
<script src="~/lib/spin.js/spin.min.js"></script>
Но теперь я получаю 404 на мои статические c файлы (http://localhost: 5000 / lib / spin.js / spin.min. js)
Файл находится там => / var / www/admin.example.com/wwwroot/lib/spin.js/spin.min.js Я использовал chmod 755 для всей папки, чтобы убедиться, что это не средство доступа.
Здесь говорится (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-2.1) что символ тильды ~ / указывает на сеть root.
Есть идеи?