正在寻找一些方法来将现有的大型ASP.NET VB.NET项目逐步转换为C#,同时仍然可以将其部署为单个Web应用程序(目前每周部署一次)。
我的想法是创建一个新的C#ASP.NET项目并慢慢移动页面,但我从未尝试过这样做,并在部署期间以某种方式将其与另一个ASP.NET项目合并。
(澄清:大型ASP.NET VB.NET项目在VS IDE中是绝对的狗......)
有什么想法吗?
答案 0 :(得分:5)
从业务逻辑开始,逐步完成页面。将所有内容封装到C#库中,您可以将其添加为VB.NET站点的引用。
一旦你的所有后端移植并进行了测试,你就可以开始制作单独的页面,但我建议你在完成所有转换之前不要推出。
答案 1 :(得分:4)
您可以使用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#代码扔进你的文件夹和你的好东西。
答案 2 :(得分:3)
像我喜欢的端口一样吗?我并没有真正看到这一点以及你将为所有的努力获得什么。也许写任何新功能或重构缓慢/错误的现有逻辑/服务层到c#但是对于网页我没有看到80/20的好处。
答案 3 :(得分:1)
保留旧的东西在VB中。 C#中的所有新东西。过渡可能很慢但你不会浪费时间。在空闲时间,在C#中更改内容。
答案 4 :(得分:1)
我通过以下方式完成了一个项目:
它工作得有点好;有时候你需要浏览多个项目以查看单个页面/控件,这有点痛苦,但它确实让我做了你想做的事情。
答案 5 :(得分:1)
您只需在解决方案中创建一个新的c#类库项目。在这里一次重新编写几个类,然后替换主项目中的vb类。
但说实话我会同意,除非你试图学习c#或者只是真的不喜欢vb或者只是觉得无聊,否则我看不到它的好处。
答案 6 :(得分:1)
我已经成功地使用Reflector(它是免费的)来获取vb项目的dll,并将代码视为C#。局部变量并不总是翻译,但您可以比较翻译和重构事物。
答案 7 :(得分:1)
尝试#Develop。我认为这是将ANY .net支持转换为任何.net支持语言的最佳方式。
其他工具只转换代码,但这会转换整个项目。
答案 8 :(得分:0)
可以做到。好吧,我希望它可以完成,因为我在传统的ASP.net应用程序上一点一点地做这件事。您一次只能更改1个Webform。您可能会遇到的困难是我在app代码文件夹中似乎没有混合语言,因为它们是一起编译的。
答案 9 :(得分:0)