0

我想从非托管 C++ 服务调用 C# 组件。我需要设置 C# 组件期望的配置项。应该配置什么名称以及它应该位于哪里。

例如。父文件夹\cplusplusservice.exe

另一个文件夹\csharp.dll

我需要 csharp.dll.config 或它的等价物。

谢谢,

4

3 回答 3

0

本文展示了如何在 c# 中使用配置文件:

http://www.devasp.net/net/articles/display/679.html

本文概述了从非托管 c++ 调用托管 c# 组件(反之亦然),以及一些帮助类:

http://www.codeproject.com/KB/mcpp/unmanaged_to_managed.aspx

于 2009-06-20T05:34:09.717 回答
0

.config 文件的名称需要与应用程序的名称相同。当非托管代码首次调用托管代码时,会创建一个 AppDomain,该 AppDomain 控制加载哪个配置文件以及从何处加载。

您需要手动将 .config 文件复制到输出目录并以应用程序名称命名,或者创建一个后期构建来执行此操作。

基本上,适用于纯托管应用程序的 .config 文件所在位置的相同规则适用于加载托管代码的非托管应用程序。

于 2009-06-20T07:04:21.207 回答
0

这取决于托管您的托管代码的 AppDomain 是如何创建的。

例如,如果您将托管代码公开为 COM,它将被加载到默认的 AppDomain 中,并且配置文件将与可执行文件位于同一目录中(在您的情况下为 parentfolder\cplusplusservice.exe.config)。

如果您自己创建 AppDomain,您可以控制配置文件的位置。

于 2009-06-20T09:20:36.393 回答