1

我要读取设置的应用程序写入到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 中的 machine.config 部分。

但是当我使用以下代码时:

Configuration myMC = WebConfigurationManager.OpenMachineConfiguration();
Console.WriteLine(myMC.FilePath.ToString());

返回的路径始终是 .NET 4 machine.config:

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

编辑:我的应用程序使用 MEF,因此它需要 .NET 4,不能从 .NET 2 编写应用程序。

4

2 回答 2

2

事实证明,有一种方法可以指定使用 ConfigurationManager 打开哪个 machine.config:

ConfigurationFileMap myCFM = new ConfigurationFileMap(fPath);
Configuration myMC = ConfigurationManager.OpenMappedMachineConfiguration(myCFM);
Console.WriteLine(myMC.FilePath.ToString());

其中 fPath 是我想要的路径。我是通过在注册表中挖掘得到的。

于 2011-05-02T17:33:52.733 回答
1

您可以将其作为 xml 或文本文件打开,请参阅:http: //support.microsoft.com/kb/307548

您可以创建一个在 .net 2.0 中运行的服务,并从您的 .net 4.0 应用程序中调用该服务。

但是为什么你需要这样做呢?

于 2011-04-29T15:04:58.577 回答