[英]Gradually migrating ASP.NET website to use solely C#
我负责维护包含大量 VB 和 C# 的旧版 ASP.NET 网站(不是 Web 应用程序)。 我希望将 VB 部分迁移到 C# 以获得更多的一致性。
现在我知道您可以使用web.config
中的<codeSubDirectories>
标记来指示某些代码文件夹需要以特定语言呈现; 正如十年前在这里讨论的那样。 但是,据我所知,这仅与类库和 API 控制器有关。
我在 Visual Studio 上安装了这个代码转换器扩展,它允许您一次转换一个文件,它在转换文件方面似乎工作得很好。 我的问题是,在调试新代码以检查它肯定在做正确的事情时 - 它似乎根本没有击中新代码。
作为概念验证,我在导航菜单中使用了ascx
文件——它没有做任何花哨的事情,只是根据用户是否处于某些角色来显示和隐藏某些部分。
我的过程是:
打开后面的代码(在本例中: TopMenu.ascx.vb
)
右键单击编辑器面板中的任意位置,然后选择“ Convert To C#
选项。
感觉检查新生成的TopMenu.ascx.cs
文件(它在正确的位置,似乎它应该做正确的事情)
更改TopMenu.ascx
文件以查看TopMenu.ascx.cs
而不是TopMenu.ascx.vb
所以现在最重要的是:
<%@ Control Language="C#" AutoEventWireup="false" CodeFile="TopMenu.ascx.cs" Inherits="Menus_TopMenu" %>
它模仿了其他ascx
文件或正在查看 C# 的aspx
文件的结构 - 但是,在调试新文件时 - 它根本不会触及代码隐藏。 我是否缺少一些晦涩的设置,或者这是“完全使用新文件”类型的过程之一?
最后,我的解决方案是重命名旧文件(即更改为TopMenu - VB.aspx
),然后使用 C# 将其全部复制并粘贴到新文件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.