【问题标题】:Debug .NET COM component调试 .NET COM 组件
【发布时间】:2013-04-25 05:43:58
【问题描述】:

我有几个关于 .NET COM 组件的问题。

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

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

对于 WCF 服务,配置相关信息存储在 app.config 中,但我没有看到 app.config 文件被加载到 app-domain 中

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

2) 如何调试.NET COM 组件

提前致谢。

【问题讨论】:

  • 它是进程外 COM 服务器(.exe)还是进程内 COM 服务器(.DLL)?
  • 查看我的回答 stackoverflow.com/a/4535028 以了解为 COM 服务器加载 app.config 的方法。
  • 至于调试问题的一部分,您可以在调试时将 Debugger.Break (stackoverflow.com/a/4733789/284111) 调用放入您的代码中,然后在点击时允许 Visual Studio 附加到该进程。

标签: .net com unmanaged unmanagedresources


【解决方案1】:

对于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 文件才能进行真正的修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多