Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 是否可以部署未编译的ASP.NET Razor Pages网站?_Asp.net Core_Razor Pages - Fatal编程技术网

Asp.net core 是否可以部署未编译的ASP.NET Razor Pages网站?

Asp.net core 是否可以部署未编译的ASP.NET Razor Pages网站?,asp.net-core,razor-pages,Asp.net Core,Razor Pages,我想知道是否有可能将ASP.NET Razor Pages网站的源代码复制到Windows web服务器上,并使其在不需要发布/编译的情况下运行 与ASP.NET Web表单网站类似,您可以上载源代码(*.aspx和*.aspx.cs文件),并在运行时编译它们 我看到了一些关于Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation的东西,但我不确定这是否是我想要的,以及如何使用它 这是否可能,以及如何做到这一点的任何指导或链接 另外,我相信这不是一个好

我想知道是否有可能将ASP.NET Razor Pages网站的源代码复制到Windows web服务器上,并使其在不需要发布/编译的情况下运行

与ASP.NET Web表单网站类似,您可以上载源代码(*.aspx和*.aspx.cs文件),并在运行时编译它们

我看到了一些关于Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation的东西,但我不确定这是否是我想要的,以及如何使用它

这是否可能,以及如何做到这一点的任何指导或链接

另外,我相信这不是一个好的做法,但我仍然希望得到一个答案。。。谢谢

这是否可能,以及如何做到这一点的任何指导或链接

另外,我确信这不是一个好的做法,但我仍然希望得到一个答案

有一种方法允许部署“未编译”
*.cshtml
。假设您使用的是ASP.NET Core 3.1:

  • 首先,添加对Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation的包引用:

    
    
  • 更改服务以允许运行时编译:

    services.AddRazorPages().AddRazorRuntimeCompilation();
  • 演示 我发布了一个RazorPage WebApp,并将其托管在
    IIS
    上。然后我们可以动态更改
    页面/***/*.cshtml
    视图:


    谢谢你的回答。我正在尝试,但有一些问题,可能是因为我的主机只支持3.0。我会继续尝试。@johna我相信这不是真的,因为我只是使用ASP.NET Core
    3.0.100
    创建了一个项目,并且发现它对我来说很好。那么你能告诉我们你是如何部署这个应用程序的吗?部署时,是否在发布文件夹中看到
    Pages/
    文件夹?或者您是在VS中启动该站点的?我对csproj和startup.cs进行了更改,并将其发布到一个文件夹中。然后它确实包含了Pages文件夹,我通过FTP复制了所有内容,但我得到了一个错误,说明与错误的版本有关。我一直想在有空的时候再试一次,所以我将从一个新的clean项目开始,再试一次,并将结果发布回来。“与错误版本有关”:错误消息是什么?我的最佳猜测是您应该使用
    而不是
    3.1.*
    这次我用默认页面创建了一个新的3.0项目,并对.csproj和startup.cs进行了更改,并通过Nuget添加了运行时编译。成功了!非常感谢。我看到只有.cshtml文件可以编辑,而不是.cs文件。。。我想没有办法让它们也在运行时编译?