【问题标题】:using cshtml razor views in a vb.net web application在 vb.net Web 应用程序中使用 cshtml razor 视图
【发布时间】:2012-11-03 04:27:46
【问题描述】:

我的网站是用 VB.NET 和 MVC 3.0 (WebForms) 编写的,但最近我们同意迁移到 C#,因此任何新代码都尽可能用 C# 编写。但是,我们的资源有限,无法完全迁移网站,其中大部分仍然是 VB.NET,包括主要的 Web 应用程序项目。

我真的很想开始使用 Razor 视图,但是作为 cshtml 而不是 vbhtml,因为我的感觉是这些以后很难迁移。但是,我在 VB 站点中看不到这样做的方法。 Web App 项目不允许使用 C#,并且编辑文件将是一场噩梦,因为 Intellisense 无法工作。

我认为不费力就能做到这一点的唯一方法是将所有 VB 代码从 Web 项目中移出到单独的 VB.NET 类库中,然后创建一个仅包含视图文件的新 C# Web 项目,将 ASPX 文件中的所有内联代码转换为 C#。不过,这仍然是一项艰巨的工作。

谁能想到更快的方法?

【问题讨论】:

    标签: c# asp.net-mvc vb.net razor


    【解决方案1】:

    您可以尝试将新的 Razor 文件放入单独的项目中,然后使用 RazorGenerator 将它们编译为“查看库”dll,然后您可以从现有项目中引用该 dll。

    我对 RazorGenerator 不太满意,但我只将它用于模板功能。您的用例听起来更像它的设计用途,因此您应该不会有任何问题。

    【讨论】:

    • 有趣,我没想到,谢谢。我认为它可能不适用于我的网站,因为它在运行时动态查找视图(它有一个主题引擎)。但值得一看
    【解决方案2】:

    在 2019 年使用 VS Express 2017 时,似乎无需任何额外的软件/插件就可以做到这一点。在第一次添加视图 (.vbhtml) 后,我将扩展名重命名为“.cshtml”,并将任何视图代码从 VB 转换为 C#,它构建并运行正常。

    我在开发 VB.net MVC 应用程序时注意到缺少视图的错误也在寻找文件的“.cshtml”版本后尝试。

    【讨论】:

      猜你喜欢
      • 2020-08-28
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多