1

我有另一个开发人员编写的 .NET 2.0 Windows 服务,该开发人员后来继续前进。我们没有原始源代码,所以我使用 JustDecompile 将项目反向工程回源代码。

当我尝试测试此 Web 服务时,它不断抛出错误:找不到 XML QName {my namespace} 的适当操作

代码装饰有

[WebServiceBinding(Name="WFCWebServicesSoapBinding", Namespace="my namespace")]

原始代码是用 VB.NET 编写的;JustDecompile 仅支持 C# 中的逆向工程。

我对为什么会发生这种情况感到有点困惑——如果我从生产环境中运行的代码中反编译了应用程序,那么如果我重新编译该代码,它不应该同样工作吗?

编辑

查看 JustDecompile 生成的内容与我可用的最后一个已知版本(此开发人员在进行更改时创建了单独的版本 - 可能是因为在我之前,没有虚拟机系统),我认为人类没有任何办法写了 JustDecompile 生成的内容。我认为可能有一个控制角色或某些东西会影响服务......

4

1 回答 1

0

我设法找到了我正在使用的代码的旧版本。很难准确地解读它们之间的差异,因为 JustDecompile 大约将代码中的行数翻了一番。(它变得一团糟——如果你使用 JustDecompile,请注意代码的编写方式会对你的反编译项目产生影响)

我能够很好地运行这个旧代码。我认为可能发生的是隐藏字符或导致 Web 服务调用崩溃的东西。

于 2012-10-17T18:36:57.670 回答