2013-05-01 71 views
0

我有一个关于.NET COM组件几个问题。调试.NET COM组件

基本上我正在开发一个.NET COM服务器(.DLL),以支持我们的遗留系统,这个想法是遗留系统调用COM服务器的方法,.NET COM代码实习生拨打我们的托管WCF服务。

起初,我公司开发的.NET COM组件(.DLL)具备基本的功能(即不调用WCF服务),写了一个VB脚本访问COM方法,一切工作正常。

中WCF服务,配置相关的信息存储在app.config中,但我没有看到app.config文件加载到应用程序域

1)如何加载的app.config为.NET COM服务器

2)如何调试.NET COM组件

在此先感谢。

+0

它是一个彻头彻尾的进程COM服务器(一个.exe),或者一个进程COM服务器(一个.DLL)? – 2013-05-01 08:25:47

+0

看看我的回答http://stackoverflow.com/a/4535028的方式来加载的app.config的COM服务器。 – adrianm 2013-05-01 19:16:13

+0

至于调试你的问题的一部分,你可以,为了调试,把Debugger.Break(http://stackoverflow.com/a/4733789/284111)调用在你的代码中,然后点击时允许Visual Studio附加到处理。 – 2013-05-02 01:21:14

回答

4

中WCF服务,配置相关的信息存储在app.config中

这就是问题的语句。它不是,它存储在foo.exe.config文件中。其中“foo.exe”是您的测试程序的名称。但它不再是。现在运行你的代码的.exe是脚本解释器。为了恢复配置,您必须将.config文件重命名为wscript.exe.config并将其复制到c:\ windows \ system32。或者c:\ windows \ syswow64,这取决于。或者cscript.exe.config,这取决于。您可以使用任务管理器找出哪个EXE运行该脚本,如果需要使用MsgBox以保持足够长的运行时间。

这当然很脆弱并且不可维护,特别是当您不是第一个遇到该问题的程序员时。你会覆盖别人的.config文件并破坏他的代码。

丑陋的问题。您需要configure your WCF services in code而不是.config文件才能获得真正的修复程序。