【发布时间】:2018-05-23 14:03:29
【问题描述】:
我有 ASP.NET MVC 5.2.6 项目,总之,当我要发布网站的时候,我不想在Views 文件夹中将 Views 发布为松散的*.cshtml 文件,我想整合dll 中的视图。
我发现了这个question,它正在讨论编译 ASP.NET MVC Razor 视图,我应用了它并且它对我有用,我能够编译 ASP.NET MVC Razor 视图,但我不能摆脱它们,当我删除 *.cshtml 文件时,网站不再工作,这意味着视图不会进入 dll。
这是我删除 Views 文件夹时的错误
这很明显,说他找不到视图。我是否应该编写一些代码来操纵 Razor 搜索引擎以强制它查看 dll 内部?
【问题讨论】:
-
您发现的问题与编译开发中的视图有关,以便检查其代码是否有效-即类型检查等。您可以打开此功能以增加团队的健壮性检查- ins,但据我所知,它不会将它们编译成 DLL,而且我也不知道可以这样做;这样就不再需要cshtml了
-
哪个 MVC 版本?
-
为什么不呢?为什么拥有 cshtml 文件对这个问题不利?
-
听起来像是不适合目的的安全策略。像@developer 一样,我也不知道要完全删除cshtml 文件。您引用的答案是关于在构建时而不是在运行时(通常是在运行时)进行所有编译检查等。
-
有些特定文件是您的服务器不会提供的 - CSHTML 文件包含在其中,除非您主动将其关闭。 CSHTML 是代码文件 - 仅用于生成流回客户端的数据您的另一个选择是从控制器返回字符串,并在 DLL 中生成 HTML - 就像 CGI 使用的那样,非常耗时,并且很难调试。
标签: c# asp.net-mvc razorengine