在 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>
测试结果:
- 在发布文件中查找 cshtml 文件。
- 在 IIS 中测试
我正在 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>
测试结果:
- 在发布文件中查找 cshtml 文件。
- 在 IIS 中测试