2008-12-10 69 views
7

¿Alguien puede recomendar una buena aplicación que podría usarse para convertir proyectos de VB.NET a C#, sin tener que hacer demasiado trabajo manual?Convertir VB.NET -> C# Projects

Hemos usado Reflector para hacer pequeñas bibliotecas manualmente, pero algunos de los proyectos más grandes serán demasiado lentos y complejos para hacerlo manualmente.

Respuesta

10

Puede utilizar Lutz Roeders Reflector (http://www.red-gate.com/products/reflector) que puede descompilar ensamblajes completos en proyectos de Visual Studio. De esta manera se puede convertir de CUALQUIER .NET Langauge en uno de los idiomas soportados de este programa (C# .VB.NET, MC++, Delphi, Chrome)

+0

Hola. Aprendes algo cada día. Hemos usado Reflector mucho, pero nunca nos dimos cuenta de que podías hacer esto. Ahora que sé que no, fue fácil encontrar la función 'Exportar' que hizo esto. Gracias. – Jayden

+0

Por supuesto, tenga cuidado con los EULA que pueda violar de esta manera. –

3

SharpDevelop tiene esta característica, pero no la he usado lo suficiente como para saber si funciona de manera confiable. Por lo demás, parece ser bastante bueno, así que vale la pena intentarlo.

+0

Gracias. Parece interesante y vale la pena echarle un vistazo. – Jayden

+0

SharpDevelop hace un excelente trabajo, en su mayor parte. Un área que he encontrado problemática es la cantidad de coerción de tipo automático que está ocurriendo en gran parte del código de VB.Net en el que trabajo. Eso y los accesores de matriz son la misma sintaxis que las llamadas a métodos. El código que es pesado en el uso de DataRow, por ejemplo, necesita ser cambiado para usar DataSetExtensions y DataRow.Field (), DataRow.SetField() respectivamente. – dwerner

7

Tangible Software hacer varios convertidores, incluyendo VB a C#.

He jugado un poco, ya que son lo suficientemente amables como para darme una copia gratis, pero no puedo decir que lo haya probado con un esfuerzo. Cuando lo he usado, está bien, sin duda vale la pena intentarlo.

+0

Hola. Se ve bien. Nos va a costar algo para comprar, así que podemos dar algunos de los otros libres primero. Si no pueden hacer el trabajo, sin duda se ve como un aficionado. – Jayden

3

El mejor y más rápido convertidor que he visto hasta ahora es http://converter.telerik.com/

bien presentado usando controles AJAX RAD.

Nota: Solo convierte los fragmentos de código y no los proyectos en su conjunto.

+0

Hola. No es lo que estamos buscando. Podemos usar reflector para lograr esto de todos modos. Gracias. – Jayden

6

Un par de cosas a tener en cuenta ...

1) Dependiendo de cómo se haya escrito el código VB.Net, la conversión automática puede o no ser posible al 100%. VB.Net permite un estilo de codificación "más flexible" que sería ambiguo para C#. Por lo tanto, puede ser necesaria alguna intervención manual.

2) Si el código VB.Net funciona correctamente, puede dejarlo simplemente como VB.Net. Ambos proyectos VB.Net y C# pueden coexistir dentro de la misma solución.

+0

Gracias. Sí, entendemos las limitaciones. Si solo tenemos que arreglar algunas cosas manualmente, sin duda será mejor que tener que arreglarlas todas. – Jayden

4

El momento mejor herramienta para esto es Econ Netvert que se pueden conocer en CodePlex http://www.codeplex.com/econnetvert

+0

Gracias, se parece a lo que estamos buscando. Lo intentaré. Cheers – Jayden

+0

Jayden, id entonces, ¿por qué no llegó a esta respuesta como aceptada? –

1

SharpDevelop es bastante bueno, pero en mi empresa que hemos encontrado a VBConversions proporcionar una conversión mucho más completa. Sin embargo, es una aplicación comercial, pero por el tiempo ahorrado en SharpDevelop no fue fácil para nosotros.

Como ejemplo específico, una cosa que encontramos que SharpDevelop no se convirtió correctamente fue en los índices VB, que usan corchetes curvos. Parecía incapaz de distinguir entre índices y llamadas a métodos, por lo que no convirtió los índices en corchetes. VBConversions los convirtió bien. Esta única cosa hizo que valga la pena su compra para nosotros.

Parece que el producto de Tangible Software funciona de forma muy similar a VBConversions.