2009-05-18 10 views
5

para una facilidad de mi aplicación Necesitaría tener el elemento "runtime" de app.config en un archivo separado.Moviendo una sección de app.config a un archivo separado

probado algo como

<runtime file="runtime.conf" /> 

y también

<runtime configFile="runtime.conf" /> 

y en runtime.conf tengo:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      ....... 
    </assemblyBinding> 
</runtime> 

Pero se ignora ...

Es hay una manera de encontrar ou t lo que está mal.

Por supuesto, cuando copio la sección de tiempo de ejecución directamente en app.config, funciona.

En algún lugar encontré que al usar configFile = "..." el archivo incluido debe colocarse en un subdirectorio. Lo intenté pero tampoco funciona ...

Parece que no funciona para la sección de tiempo de ejecución.

+1

¿Alguna solución final al respecto? – Kiquenet

Respuesta

1

Prueba esto:

<runtime configSource="runtime.conf"/> 
+0

lamentablemente el mismo resultado. Primero lo estaba intentando con configSource y también con "archivo" y código copiado a mi respuesta ... Pero originalmente debería ser "configSource", simplemente lo ignora malditamente: D – RomanT

+0

Teóricamente es el atributo correcto para especificar, pero el tiempo de ejecución es un caso especial que no leerá el valor de configSource. Aprendido de las pruebas. – jeffreypriebe

2

Hola es su runtime.conf está en la carpeta bin de la aplicación

+0

Está exactamente en el directorio donde está app.config. – RomanT

+0

Pero app.config generalmente se copia en el contenedor como .exe.config. ¿Tu runtime.config también se copia a la carpeta bin cuando compilas? –

+0

Esto debe marcarse como la respuesta correcta. Estaba teniendo exactamente el mismo problema. Cambié el directorio Copiar a salida para copiar siempre, y funcionó. – Eric

0

único inconveniente es que el tiempo de ejecución asp.net no detecta cuando el archivo externo como en tiempo de ejecución .config cambios. Si no puede obtener los valores después de cambiar runtime.config

+0

No obtengo CUALQUIER valor, en detalle hago una dirección vinculante allí para apuntar una aplicación a otra versión de una DLL determinada, así que solo la compruebo usando algún monitor de DLL asociado a mi aplicación que informa una versión aún más antigua de la DLL asociada. – RomanT

2

No puede usar configSource para externalizar la configuración < de tiempo de ejecución >.

<runtime> es un caso especial que no lee los valores en ningún archivo externo especificado en configSource.

Al especificar el atributo "configSource" no se producirá un error, el archivo de origen simplemente no se leerá.

Más información aquí: http://world.episerver.com/Blogs/Magnus-Rahl/Dates/2011/6/Todays-gotcha-configSource-on-the-runtime-section-element/

Cuestiones relacionadas