2009-08-03 9 views
5

Recientemente me mudé a Vista x64, y de repente, mi ensamblaje machine.config appSettings no está siendo leído por ningún ensamblado .NET.appSettings no se leen de machine.config en Vista

Justo después configSections, y antes de configProtectedData en C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config, que tengo:

<appSettings> 
    <add key="foo" value="blah"/> 
</appSettings> 
<system.runtime.remoting> 
    <customErrors mode="Off"/> 
</system.runtime.remoting> 

tuvo que salvar mediante la ejecución de Notepad ++ como administrador, porque de lo contrario está bloqueado, probablemente por buenas razones. Ejecutar el siguiente código en SnippetCompiler o VS .NET 2008:

foreach(var s in ConfigurationManager.AppSettings.AllKeys) 
    { 
     Console.WriteLine(s); 
    } 

    AppSettingsReader asr = new AppSettingsReader(); 

    Console.WriteLine(asr.GetValue("foo", typeof(string))); 

escribe a cabo ninguna tecla y no con la siguiente excepción:

--- 
The following error occurred while executing the snippet: 
System.InvalidOperationException: The key 'foo' does not exist in the appSettings configuration section. 
    at System.Configuration.AppSettingsReader.GetValue(String key, Type type) 
    at MyClass.RunSnippet() 
    at MyClass.Main() 
--- 

La aplicación utiliza escribo machine.config como un mensaje para encontrar fuera de qué entorno debería estar funcionando un usuario si no se puede encontrar en la aplicación.config, así que me gustaría evitar tener que volver a escribir mi aplicación para descubrir algo que debería funcionar igual que en 2000 y XP.

Respuesta

7

resuelto con la siguiente línea de código:

ConfigurationManager.OpenMachineConfiguration().FilePath 

que volvió:

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config 

en lugar de:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config 

Olvidaste estoy usando 64 bits ahora. Agregar la sección appSettings en el archivo de configuración correcto resolvió el problema.

Cuestiones relacionadas