要调试私有接口,使用如下命令生成 XXX_Accessor.exe。
D:\>"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Publicize.exe" D:\10代码\RiskControl\bin\Debug\RiskControl.exe
但对一个程序,出现错误提示:
未经处理的异常: System.TypeLoadException: 程序集“RiskControl_Accessor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“RiskControl.FKServiceReference.CommonServiceSoapChannel_Impl”的方“add_UnknownMessageReceived”没有实现。
在 System.Reflection.Emit.TypeBuilder.TermCreateClass(RuntimeModule module, Int32 tk, ObjectHandleOnStack type)
在 System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
在 System.Reflection.Emit.TypeBuilder.CreateType()
在 Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.DynamicType.CreateType()
在 Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.DynamicAssembly.Save()
在 Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.Shadower.ShadowAssemblyHelper(ShadowerOptions options)
在 Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.Shadower.ShadowAssemblyHelper(ShadowerOptions options)
在 Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.Shadower.ShadowAssembly(ShadowerOptions options)
在 Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.Shadower.Main(String[] args)
其中FKServiceReference是一个服务引用。后来,把服务引用改为WEB引用,就可以正常生成了。