https://docs.microsoft.com/tr-tr/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.1&tabs=netcore-cli Я перешел по этой ссылке. Сначала я установил пакет nuget
Project 'razorapp' has the following package references
[netcoreapp3.1]:
Top-level Package Requested Resolved
> Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 3.1.6 3.1.6
Затем я обновил файл Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
}
добавил .AddRazorRuntimeCompilation () в конце, как говорит do c.
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages()
.AddRazorRuntimeCompilation();
}
Кстати, я использую cli в коде vs. Я запускаю его с помощью команды «do tnet run», когда я вношу изменения в файл «index.cs html», редактируя содержимое тегов p или содержимое тегов h, тогда я обновляю sh страницу в браузере, ничего не меняется.
После запуска с командой «do tnet run» вывод будет
info: Microsoft.Hosting.Lifetime[0]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: /mnt/c/Users/turke/Desktop/Dev/dotnet/razorapp
Изменить: Мой файл csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.6" />
</ItemGroup>
</Project>
launchSetting. json:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:49928",
"sslPort": 44326
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"razorapp": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Edit2: он работает в Visual Studio, но я не понимаю, почему он не работает в cli. Я также попытался добавить компиляцию времени выполнения в начале с.
"do tnet new webapp --razor-runtime-compilation"
Это тоже не работает.
Edit3:
Я использовал подсистему Ubuntu 20.04 для windows. Когда я использовал командную строку для do tnet cli, проблем не было. Я не знаю, что не так с подсистемой, но лучше не использовать ее для do tnet, наверное.