我们可以将C#dll反编译为VB.NET吗?

时间:2012-01-23 07:41:40

标签: c# vb.net decompiling

我在C#.net中开发了一个dll。我们可以在VB.net中反编译相同的内容。如果是的话,怎么做?

5 个答案:

答案 0 :(得分:5)

使用Reflector之类的工具将已编译的C#程序集(IL)转换为反编译的VB.NET源代码(可能会因某些变量名称而失去一些含义)。另一篇文章提到了Reflector的一些免费替代品。

或使用this one等在线资源转换C#代码(虽然一次只能使用1个代码文件)。

答案 1 :(得分:3)

我同意Mitch,但作为Reflector的免费替代品:

答案 2 :(得分:2)

假设您拥有源代码,您可以使用sharpdevelop在c#.net和vb.net之间来回转换整个解决方案

答案 3 :(得分:1)

有时C#无法转换(或反编译)成VB.Net,因为C#中有一些元素在VB中没有等价物。例如。迭代器(yield)和不安全的代码。此外,一些自由转换器fail badly即使存在直接等价物。

你为什么要这样做呢?从VB.Net代码中使用C#DLL可能很容易:你可以调用它,你可以继承它。 “CLS compliance”将对此有所帮助。

对于它的价值,也有一些VB的元素在C#中没有等价物,例如异常过滤器。

答案 4 :(得分:0)

如果您已经开发了自己,我认为您可以访问源代码?如果是这样,你可以在这里转换它:

http://www.developerfusion.com/tools/convert/csharp-to-vb/