2

我的网站是用 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#。不过,这仍然是一项艰巨的工作。

谁能想到一个更快的方法?

4

2 回答 2

2

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

我对 RazorGenerator 不太满意,但我只将它用于模板功能。你的用例听起来更像它的设计目的,所以你不应该有任何问题。

于 2012-11-14T16:36:55.700 回答
0

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

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

于 2019-09-16T08:52:45.253 回答