我想知道是否可以将 ASP.NET Razor Pages 网站的源代码复制到 Windows Web 服务器并使其无需发布/编译即可运行?
与 ASP.NET Web Forms 网站类似,上传源代码(*.aspx 和 *.aspx.cs 文件)并在运行时进行编译?
我看到了一些关于 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
的内容,但我不确定这是否是我想要的以及如何使用它。
这可能吗?有关于如何做到这一点的指导或链接吗?
PS。我确信这不是一个好的做法,但仍然想要一个答案......谢谢。最佳答案
Is this possible and any guidance or links on how to do it?
PS. I'm sure this is not good practice, but would still like an answer
有一种方法可以允许部署“未编译”*.cshtml
。假设您使用的是 ASP.NET Core 3.1:
首先,添加对
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
的包引用:<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.*" />
更改您的服务以允许运行时编译:
services.AddRazorPages().AddRazorRuntimeCompilation();
Configure a custom Task to copy the source code to publish dir in your
*.csproj
file:<ItemGroup> <ViewFiles Include="$(ProjectDir)\Pages\**\*.cshtml" /> </ItemGroup> <Target Name="CopyViewFilesAfterPublish" AfterTargets="Publish"> <Copy SourceFiles="@(ViewFiles)" DestinationFolder="$(PublishDir)\Pages\%(RecursiveDir)" /> </Target>
演示
我发布了一个 RazorPage WebApp 并将其托管在 IIS
上。然后我们可以动态更改 Pages/**/*.cshtml
View :
关于asp.net-core - 是否可以部署未编译的 ASP.NET Razor Pages 网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59279396/