Tengo una clase estática en una carpeta sin raíz en mi solución. En esa carpeta de clase estática, hay una subcarpeta que contiene archivos XML. Así que tengo estos archivos:Obtener la ruta del archivo en ASP.NET y XDocument.Load
/PartialViews/Header/MyStaticClass.cs
/PartialViews/Header/Config/en-US.xml
/PartialViews/Header/Config/jp-JP.xml
...
que estoy teniendo problemas para usar XDocument.Load()
con esos archivos XML. Específicamente, estoy tratando de cargar los archivos XML desde el constructor estático de MyStaticClass
.
XDocument.Load()
Parece que no puede encontrar los archivos, sin embargo. He intentado todos estos y ninguno trabaja: (¿porque el tipo se está inicializando)
static MyStaticClass()
{
XDocument doc;
// These all throw exceptions relating to directory not found
doc = XDocument.Load("/Config/en-US.xml");
doc = XDocument.Load(@"\Config\en-US.xml");
doc = XDocument.Load("/PartialViews/Header/Config/en-US.xml");
doc = XDocument.Load(@"\PartialViews\Header\Config\en-US.xml");
}
También he intentado usar Assembly.GetExecutingAssembly().Location
y Assembly.GetEntryAssembly().Location
antes de que la ruta relativa, pero la asamblea resuelto por Assembly
siempre es una biblioteca .NET .
¿Cómo puedo cargar el archivo sin cambiar su ubicación en la solución?
Deje etiquetas como "C#" en las etiquetas y manténgalas fuera del título. No hay razón para tener la misma información en dos lugares. –