Как открыть machine.config из .NET v2.0.50727 - PullRequest
1 голос
/ 29 апреля 2011

Приложение, из которого я хочу прочитать настройки, пишет в раздел machine.config в C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ 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 невозможна.

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Оказывается, есть способ указать, какой файл machine.config открывать с помощью ConfigurationManager:

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

где fPath - это путь к тому, который я хотел. Я получил это, копаясь в реестре.

1 голос
/ 29 апреля 2011

Вы можете открыть его в виде XML или текстового файла, см .: http://support.microsoft.com/kb/307548

Вы можете создать службу, работающую в .net 2.0, и вызывать эту службу из приложения .net 4.0.

Но зачем тебе это делать?

...