如何在asp.net Core中部署CSHTML文件? 如果我发布asp.net核心项目,则不会发布cshtml。 如何直接在Chrome中运行cshtml文件?
这里有一些代码可以进一步解释
我的Program.cs文件包含
公共静态无效值Main(string [] args) { //由于zoho在一个webhook中只能传递10个参数,因此我们将分为两个更新 //更新1 UpdateClassBoatFromZohoModel upd = new UpdateClassBoatFromZohoModel(); upd.OnGet(); //更新2 UpdateClassBoatFromZohoModel2 upd2 =新的UpdateClassBoatFromZohoModel2(); upd2.OnGet();
//CreateWebHostBuilder(args).Build().Run();
}
现在,这些文件中的每个UpdateClassBoatFromZoho.cshtml和UpdateClassBoatFromZoho2.cshtml将在浏览器中使用不同的querystring参数进行投放。该怎么做?
答案 0 :(得分:1)
您不能这样做,因为那不是工作原理。 cshtml
文件不能单独运行。它们是不被提供的,并且它们包含仅与ASP.NET Core请求管道的其余部分一起工作的预处理代码。即使您可以直接访问它们,它们也只能是文本文件(即,网络浏览器不知道如何处理)。
答案 1 :(得分:0)
页面/视图的预编译是默认行为。可以跳过此步骤并发布原始.cshtml文件,从而导致页面/视图可以以类似于经典ASP或ASP.NET Web页面框架的方式进行更新。换句话说,您可以更改.cshtml文件,然后在应用程序运行时将它们复制到Web服务器,新内容将立即生效。
如果您想采用这种方法,请将MvcCompileOnPublish节点添加到.csproj文件中,并将其值设置为false:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>
这将导致包含内容页面的Pages文件夹和包含应用程序所需的库的refs文件夹: