Hacer referencia a archivos de recursos de múltiples proyectos en una solución

StackOverflow https://stackoverflow.com/questions/39065

  •  09-06-2019
  •  | 
  •  

Pregunta

Estoy trabajando en la localización de una aplicación asp.net que consta de varios proyectos.

Para ello existen algunas cadenas que se utilizan en varios de estos proyectos.Naturalmente, preferiría tener sólo una copia del archivo de recursos en cada proyecto.

Dado que los archivos de recursos no tienen un espacio de nombres (al menos hasta donde yo sé), no se puede acceder a ellos como las clases normales.

¿Hay alguna forma de hacer referencia a archivos resx en otro proyecto, dentro de la misma solución?

¿Fue útil?

Solución

Puede simplemente crear un proyecto de biblioteca de clases, agregar un archivo de recursos allí y luego consultar ese ensamblado para obtener recursos comunes.

Otros consejos

He usado esta solución antes para compartir un archivo ensamblado info.cs en todos los proyectos en una solución. Supongo que lo mismo funcionaría con un archivo de recursos.

Cree un archivo vinculado a cada proyecto/biblioteca de clase individual.Sólo habrá una copia y cada proyecto tendrá una referencia al código a través de un archivo vinculado en el momento de la compilación.Es una solución muy elegante para resolver recursos compartidos no públicos sin duplicar código.

<Compile Include="path to shared file usually relative">
  <Link>filename for Visual Studio To Dispaly.resx</Link>
</Compile>

agregue ese código al grupo de elementos compilados de un archivo csproj, luego reemplace las rutas con sus rutas reales a los archivos resx y podrá abrirlos.

Una vez que haya hecho esto para un archivo de proyecto, debería poder copiar y pegar el archivo vinculado en otros proyectos sin tener que piratear el csproj.

Algunos consejos útiles sobre cómo gestionar una situación como esta están disponibles aquí:

http://www.codeproject.com/KB/dotnet/Localization.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top