.net - example - cultureinfo c# español
Implementación de ensamblados de satélites.NET en una carpeta específica (2)
Estoy trabajando en una aplicación C .NET y estoy realizando la localización con archivos de recursos. Tengo archivos de recursos específicos de cultura como:
- MyResource.resx;
- MyResource.fr-FR.resx;
- MyResource.ja-JP.resx;
Después de compilar, en la carpeta raíz de la aplicación hay carpetas como fr-FR
, ja-JP
etc.
¿Es posible mover todos los archivos y carpetas de recursos de localización a la misma carpeta, por ejemplo, Languages
?
Actualización 1:
Lo resolví con el siguiente código. parece que cuando copio la aplicación a otro lugar, no puede cargar recursos. Como puedo ver, el archivo application.config también debe estar allí. Y si configuro app.config como recurso embebido, no funciona.
¿Hay alguna manera de hacerlo sin el archivo .config necesario en el mismo directorio?
Gracias
Mis archivos ResX en Propiedades están a continuación:
- Resources.resx
- Resources.tr-TR.resx
Puse la información de tiempo de ejecución en el archivo de configuración de la aplicación como se describe arriba, pero sin cambios. sigue creando una carpeta tr-TR debajo de la ruta ejecutable, no debajo de la carpeta Idiomas. ¿Qué posiblemente estoy haciendo mal aquí? Gracias
<configuration>
...
<runtime>
...
</runtime>
</configuration>
Por defecto, los conjuntos de satélites se colocan en los subdirectorios directamente debajo del archivo ejecutable. Si desea mover todas las carpetas fr-FR
, ja-JP
y restantes para otras culturas a la misma carpeta Languages
, puede hacerlo agregando la siguiente entrada en el archivo de configuración de la aplicación:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Languages"/>
</assemblyBinding>
</runtime>
</configuration>
Esto indicará que, al buscar ensamblajes, el CLR debe buscar en las ubicaciones predeterminadas y también en el directorio o directorios especificados por el atributo privatePath
del elemento de probing
. Puede especificar cualquier directorio que exista debajo del archivo ejecutable de la aplicación. Al especificar más de un subdirectorio, debe delimitar cada uno con un punto y coma.