繁体   English   中英

逐步迁移 ASP.NET 网站以仅使用 C#

[英]Gradually migrating ASP.NET website to use solely C#

我负责维护包含大量 VB 和 C# 的旧版 ASP.NET 网站(不是 Web 应用程序)。 我希望将 VB 部分迁移到 C# 以获得更多的一致性。

现在我知道您可以使用web.config中的<codeSubDirectories>标记来指示某些代码文件夹需要以特定语言呈现; 正如十年前在这里讨论的那样。 但是,据我所知,这仅与类库和 API 控制器有关。

我在 Visual Studio 上安装了这个代码转换器扩展,它允许您一次转换一个文件,它在转换文件方面似乎工作得很好。 我的问题是,在调试新代码以检查它肯定在做正确的事情时 - 它似乎根本没有击中新代码。

作为概念验证,我在导航菜单中使用了ascx文件——它没有做任何花哨的事情,只是根据用户是否处于某些角色来显示和隐藏某些部分。

我的过程是:

  1. 打开后面的代码(在本例中: TopMenu.ascx.vb

  2. 右键单击编辑器面板中的任意位置,然后选择“ Convert To C#选项。

  3. 感觉检查新生成的TopMenu.ascx.cs文件(它在正确的位置,似乎它应该做正确的事情)

  4. 更改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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM