繁体   English   中英

将大型ASP.NET VB.NET项目转换为C# - 递增?

[英]Converting large ASP.NET VB.NET project to C# - incrementally?

正在寻找一些方法来将现有的大型ASP.NET VB.NET项目逐步转换为C#,同时仍然能够将其部署为单个Web应用程序(目前每周部署一次)。

我的想法只是创建一个新的C#ASP.NET项目并慢慢移动页面,但我从未尝试过这样做,并在部署期间以某种方式将其与另一个ASP.NET项目合并。

(澄清:大型ASP.NET VB.NET项目是VS IDE中的绝对狗......)

有什么想法吗?

从业务逻辑开始,逐步完成页面。 将所有内容封装到C#库中,您可以将其添加为VB.NET站点的引用。

一旦你的所有后端移植并进行了测试,你就可以开始做单独的页面,但我建议你在完成所有转换之前不要推出。

您可以使用VB代码和C#代码保留App_Code目录。 如此有效,当您有空余时间进行转换时,您可以非常缓慢地完成它。

我目前在我的App_Code目录中都有VB.Net和C#代码,在我的业余时间我转换为VB.Net代码或任何时候我必须回到VB.Net的页面并弄乱它我将它转换为C#。

Easy Peasy和Microsoft让它们在同一个应用程序中同时拥有VB.NET和C#时更加出色。 这是他们可以在整个应用程序制作过程中实现的最佳创意之一。

如果要在一个目录中添加两个代码目录,请将其添加到Web.config中

<compilation>
<codeSubDirectories>
    <add directoryName="VB_Code"/>
    <add directoryName="CS_Code"/>
</codeSubDirectories>
</compilation>

然后在App_Code目录中添加名为VB_Code的文件夹和另一个名为CS_Code的文件夹。 然后把你所有的vb / C#代码扔到你的文件夹和你的好。

喜欢我喜欢的端口吗? 我并没有真正看到这一点以及你将为所有的努力获得什么。 也许写任何新功能或重构缓慢/错误的现有逻辑/服务层到c#但是对于网页我没有看到80/20的好处。

试试#Develop 我认为这是将ANY .net支持转换为任何.net支持语言的最佳方法。

其他工具只转换代码,但这会转换整个项目。

保留旧的东西在VB中。 C#中的所有新东西。 过渡可能很慢,但你不会浪费时间。 在空闲时间,在C#中更改内容。

我通过执行以下操作在一个项目中执行此操作:

  1. 创建一个C#类库
  2. 从VB Web应用程序引用C#类库
  3. 在C#库中创建类后面的代码
  4. 更新aspx / ascx文件中的“Inherits”属性以引用C#类(此文件仍存在于原始VB项目中)

它工作得有点好; 有时候你需要浏览多个项目以查看单个页面/控件,这有点痛苦,但它确实让我做了你想做的事情。

您只需在解决方案中创建一个新的c#类库项目。 在这里一次重新编写几个类,然后替换主项目中的vb类。

但说实话,我同意我不会看到好处,除非你试图学习c#或者只是真的不喜欢vb或者只是觉得无聊。

我已成功使用Reflector (它是免费的)将vb项目的dll拉入其中并将代码视为C#。 局部变量并不总是翻译,但您可以比较翻译和重构事物。

可以办到。 好吧,我希望它可以完成,因为我在传统的ASP.net应用程序上一点一点地做这件事。 您一次只能更改1个Webform。 您可能会遇到的困难是我在app代码文件夹中似乎没有混合语言,因为它们是一起编译的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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