【发布时间】:2013-07-06 13:18:09
【问题描述】:
我在 VS2010 和 VB.net (interop) 中创建一个 windows com 对象
这个 com 对象应该能够与任何非托管代码应用程序一起工作,例如 word、Excel 或在本例中为 Access。
com 对象的创建和使用 regasm 等工作正常。没问题。
但是,我在 INSTANT 中创建了一个需要连接字符串或 app.config 文件中的任何其他内容的 com 对象,然后它失败了。在这种情况下,它恰好是一个 Web 服务,并且常见的“端点”或 app.config 文件找不到错误发生。 (如果它只是一个连接字符串,我会简单地读取这个值——但由于 Web 服务定义,配置文件非常混乱)。
有人建议将 .dll 和 app.config 放在与办公程序(如 excel)相同的目录中,然后将配置文件重命名为 Excel.exe.config 应该可以。
这似乎对我不起作用。
有没有办法让现在是 com 对象的 vb.net 类 (.dll) 知道加载 + 使用 .dll 的配置文件而不是一些主应用程序文件?
请注意,在这种情况下,我没有主应用程序配置文件,因为我正在启动 Word 或 Excel 等非托管应用程序并尝试使用我的类对象。
显然,在 vb.net 中,我可以将 .dll 中的配置文件内容复制到主应用程序配置中,然后我们就可以参加比赛了。如前所述,我没有托管的“主”文件。
那么,当在非托管代码中创建对象的实例时,如何让 class.dll 文件加载 class.dll.config 文件?
【问题讨论】: