我有一个由另一个开发人员编写的.NET 2.0 Windows服务。我们没有原始的源代码,因此我使用JustDecompile将项目反向工程回到源代码中。
当我尝试测试此Web服务时,它会不断抛出错误: 找不到适用于XML QName {my namespace}
的操作代码用
修饰[WebServiceBinding(Name="WFCWebServicesSoapBinding", Namespace="my namespace")]
原始代码是用VB.NET编写的; JustDecompile仅支持C#中的逆向工程。
我对于为什么会发生这种情况感到困惑 - 如果我从生产环境中运行的代码反编译应用程序,如果我重新编译该代码,它是否应该工作相同?
修改
查看JustDecompile生成的内容与我可用的最新已知版本(此开发人员在进行更改时创建了单独的版本 - 可能是因为在我之前,没有适当的VM系统),我认为没有任何办法一个人写了JustDecompile生成的东西。我认为可能有控制角色或某些东西丢掉了服务......
答案 0 :(得分:0)
我设法找到了我正在使用的旧版本代码。很难解释它们之间的差异究竟是什么,因为JustDecompile使代码中的行加倍。 (并且它变得非常混乱 - 如果您使用JustDecompile,请注意编写代码的方式会对您的反编译项目产生影响)
我能够很好地运行这个旧代码。我认为可能发生的事情是隐藏的角色或某些东西会导致Web服务调用崩溃。