Hola gente
tengo una dll con unos métodos estáticos de la siguiente forma:
Código C:
Ver originalstatic public string CadenaConexion(bool soloDatos)
static public bool GuardaCadenaConexion(string servidor, string baseDeDatos, string user, string password)
Cuando cargo la aplicación se ejecuta el primer evento, este primer evento carga unos datos de un xml de la siguiente manera:
Código C:
Ver originalXPathDocument documentoXml = null;
string archivoConfiguracion = string.Format("{0}\\{1}.xml",
Path.GetDirectoryName(Assembly.GetAssembly(typeof(Configuracion)).CodeBase), "configuracion");
archivoConfiguracion = archivoConfiguracion.Replace("file:\\", "");
if (File.Exists(archivoConfiguracion))
{
if (new FileInfo(archivoConfiguracion).Extension.Contains("xml"))
{
string xmlDoc = File.ReadAllText(archivoConfiguracion);
Stream str = new MemoryStream(Encoding.ASCII.GetBytes(xmlDoc));
XmlTextReader lector = new XmlTextReader(str);
documentoXml = new XPathDocument(lector);
lector.Close();
if (documentoXml == null)
{
throw new System.Exception("El archivo de configuración no se cargo correctamente.");
}
}
else
{
throw new TypeFileException("El tipo de archivo seleccionado no puede cargarse como uso de configuración del sistema.");
}
}
else
{
throw new FileNotFoundException("Archivo de configuración no se localizó o fue borrado del sistema.");
}
hasta ahí todo bien.
El problema viene cuando quiero guardar algunas modificaciones de un XmlDocument en la siguiente función:
Código C:
Ver originalXmlDocument documento = new XmlDocument();
string archivoConfiguracion = string.Format("{0}\\{1}.xml",
Path.GetDirectoryName(Assembly.GetAssembly(typeof(Configuracion)).CodeBase), "configuracion");
archivoConfiguracion = archivoConfiguracion.Replace("file:\\", "");
string xmlDoc = File.ReadAllText(archivoConfiguracion);
Stream str = new MemoryStream(Encoding.ASCII.GetBytes(xmlDoc));
documento.Load(str);
bool salida = false;
/*aqui va mi proceso de validaciones*/
documento.Save(archivoConfiguracion);
Pero me indica que no puedo sobreescribir el archivo por que según esta abierto, como puedo guardar o sobreescribir el archivo siendo que en ningún momento lo abro, solo obtengo el texto como tal, espero su ayuda.