Соглашения соблюдаются по причине.Это способствует хорошему дизайну приложения.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Тем не менее, вы правы в том, что ASP.NET Core настраивается и может быть настроен на то, что вы хотите с ним делать, хорошее или плохое.
На самом деле у вас есть две проблемы: 1) файлы вКаталог Views
не включен в публикацию и 2) каталог Views
не обслуживается .Даже если вам удастся включить статические файлы в публикацию, это пиррова победа, поскольку вы не сможете использовать эти файлы на своих веб-страницах.
Я никак не могу понятьчтобы весь каталог копировался на выход через пользовательский интерфейс - только отдельные файлы.Однако, отредактировав файл своего проекта, вы можете добавить что-то вроде:
<ItemGroup>
<Content Include="Views\**\*.js" CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>
Это просто оставит вас с проблемой фактического обслуживания этих файлов, что становится более проблематичным, так как вы не можете просто обслуживать некоторые файлы,но только целые каталоги.Это означает потенциальную возможность разоблачения чего-либо в каталоге Views
.Тем не менее, если вы настаиваете:
app.UseStaticFiles(); // For the wwwroot folder
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "Views")),
RequestPath = "/Views"
});