【发布时间】:2011-01-20 19:39:41
【问题描述】:
我有一个名为 Foo 的 C# .NET 库,它生成一个 Foo.dll 文件。它也可以通过如下所示的 .config 文件进行配置:
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="Foo.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<applicationSettings>
<Foo.Properties.Settings>
<setting name="Server" serializeAs="String">
<value>localhost</value>
</setting>
</Foo.Properties.Settings>
</applicationSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
我想做的是从名为 Bar 的非托管 C++ 程序调用此 .NET 库中的函数,并能够从非托管 C++ 应用程序更改其配置。通过在 Foo 中将类/接口属性 ComVisible 设置为 true,我可以从 Bar 调用 Foo 函数。但是,我无法从非托管 C++ 应用程序更改 .config 文件的值 -- 服务器始终是“localhost”。
我正在尝试做的事情——从非托管 C++ 配置 .NET 库——甚至可能吗?
【问题讨论】:
标签: c# c++ com configuration unmanaged