Не работает компиляция времени выполнения. net core - PullRequest
0 голосов
/ 07 августа 2020

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, наверное.

...