在 NET 6 中部署后,我在哪里可以找到我的页面 cshtml

Where i can find my pages cshtml after Deploy in NET 6

我正在 asp.net mvc 和 NET 6 中开发一个网站,当我部署时,我再也找不到 cshtml 页面,但是有很多文件夹、dll 和一个 .exe。

问题是每次修改一个页面我都需要更新所有网站。

有没有办法只把修改后的页面cshtml上线,而不用部署整个网站?

1.您需要添加 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 包。

2。部署时还需要复制cshtml。

所以我的 .csproj 文件如下:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.2" />
  </ItemGroup>

  <ItemGroup>
    <ViewFiles Include="$(ProjectDir)\Views\**\*.cshtml" />
  </ItemGroup>
  
  <Target Name="CopyViewFilesAfterPublish" AfterTargets="Publish">
    <Copy SourceFiles="@(ViewFiles)"
      DestinationFolder="$(PublishDir)\Views\%(RecursiveDir)"
    />
  </Target>

</Project>

测试结果:

  1. 在发布文件中查找 cshtml 文件。

  1. 在 IIS 中测试