2

我编写了一个愚蠢简单的 ServicedComponent(COM+ 组件)来运行进程外并在 x64 服务器上包装一个仅 x86 的 COM 组件。在我的测试虚拟机(Server 2008 R2)上它工作正常。在生产盒上,我得到一个找不到文件的异常。

C:\Windows\Microsoft.NET\Framework\v2.0.50727>C:\Testapp.exe 系统找不到指定的文件。(HRESULT 异常:0x80070002)在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) 在 System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType, Boolean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri) 在系统。 EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(Type serverType) at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj) at Testapp.Program.Main(String[] args) 在 D:\TFS \Testapp\Program.cs:第 11 行

Program.cs 的第 11 行是我实例化我正在包装的 COM 类型的对象的地方。

同样,这在我的 x64 Win 7 开发机器和我的 x64 测试 VM 上运行良好。我正在构建我的组件 x86,并从 32 位命令提示符注册 regsvcs 的 32 位版本。

我到底做错了什么或忘记了什么?

4

0 回答 0