我正在寻找一些逐步将现有的ASP.NET VB.NET项目转换为C#的方法,同时仍能以单个Web应用程序形式部署它(当前每周部署)。
我的想法是只需创建一个新的C# ASP.NET项目,然后慢慢地将页面移动过去,但我从未尝试过这样做并在部署期间将其与另一个ASP.NET项目合并。
(澄清:大型ASP.NET VB.NET项目在VS IDE中绝对是难以处理的…)
有什么想法吗?
我正在寻找一些逐步将现有的ASP.NET VB.NET项目转换为C#的方法,同时仍能以单个Web应用程序形式部署它(当前每周部署)。
我的想法是只需创建一个新的C# ASP.NET项目,然后慢慢地将页面移动过去,但我从未尝试过这样做并在部署期间将其与另一个ASP.NET项目合并。
(澄清:大型ASP.NET VB.NET项目在VS IDE中绝对是难以处理的…)
有什么想法吗?
从业务逻辑开始,逐步扩展到页面。将所有可以封装的内容都封装到C#库中,并将其作为VB.NET站点的引用添加。
一旦您已经将所有后端移植并测试完毕,可以开始逐个处理页面,但我建议在完成所有转换之前不要进行发布。
<compilation>
<codeSubDirectories>
<add directoryName="VB_Code"/>
<add directoryName="CS_Code"/>
</codeSubDirectories>
</compilation>
然后在您的App_Code目录中添加一个名为VB_Code和另一个名为CS_Code的文件夹。然后将所有vb/C#代码放入您的文件夹,就可以了。
你是指进行相似的移植吗?我不太明白这样做的意义以及为所有努力所获得的收益。或许可以将任何新功能或重新构建笨重/低效现有逻辑/服务层转换成C#,但对于网页,我不认为这会带来80/20的好处。
保留旧的 VB 代码。所有新的代码都用 C# 编写。迁移可能会比较慢,但你不会浪费时间。在空闲时间里,逐步将代码改写为 C#。
我曾经通过以下方式在一个项目中实现了这个:
它有点麻烦,因为您现在必须浏览多个项目才能查看单个页面/控件,但它确实让我做到了您想要做的事情。
您可以在解决方案中创建一个新的C#类库项目。在此处逐步重新编写一些类,然后将VB类替换为主项目中的类。
但说实话,除非您想学习C#或者真的不喜欢VB或者感到无聊,否则我认为这样做没有什么好处。
这是可以做到的。我希望能够做到,因为我正在一个遗留的ASP.net应用程序上逐步进行。您可以一次只更改一个Webform。您可能会遇到困难的地方在于,我似乎无法在应用程序代码文件夹中混合使用不同的语言,因为它们会被编译在一起。
如果您有179美元,您就完成了。
当然也有免费的转换器可用。