2015-11-25 59 views
0

我可以完全访问另一台计算机上存在的文件,并且在键入“\ username-txd \ abcFolder \ Configuration \ MediaManagerConfig \ Web.config“在运行命令行我能够访问上述文件,但当我尝试更新此特定文件中的任何属性的值时,它不允许我更新。使用C#替换另一台计算机(共享文件夹/网络)上存在的文件(web.config)中的值

代码:中impolemented CODEC#海贼王

当我的值传递给xmlDoc.Load(@filename);

文件名显示为我想要传递的值。但是,只要我继续调试代码,就会看到我的文件路径附加了“d:/”值。

和文件名变为,文件名= “d:\用户名,TXD \ abcFolder \配置\ MediaManagerConfig \ Web.config中”

为什么d://被追加。它是指我的本地D驱动器?

注释行是一些选项我试过

 public void updateFileData() 
     { 

      private string filename="\\vinayb2txd\\atish\\Configuration\\MediaManagerConfig\\Web.config"; 

     private string newElemetValue="qwerty"; 


     //xmlDoc.Load("\\vinayb2-txd\\atish\\Configuration\\MediaManagerConfig\\Web.config"); 

    //var path = System.Web.HttpContext.Current.Server.MapPath(@filename); 

    //string serverFilepath= Server.MapPath(@filename); 

    // FileStream xmlFile = new FileStream(filename, FileMode.Open,FileAccess.Read, FileShare.Read); 

    // xmlDoc.Load(xmlFile); 

    // string abc=new Uri(filename).LocalPath; 

     xmlDoc.Load(@filename); 
    XmlNodeList elementList = xmlDoc.GetElementsByTagName("add"); 
    for (int i = 0; i < elementList.Count; i++) 
    { 
     if (elementList[i].Attributes["key"].Value == elementKey) 
     { 
      elementList[i].Attributes["value"].Value = newElementValue; 
      break; 
     } 
     xmlDoc.Save(filename); 
    } 

    }      

回答

1

您在文件名字符串的开始需要四个斜杠它被解释为一个UNC路径。否则,双斜杠将转义为单斜杠,该斜杠被解释为当前工作目录的根驱动器。

0

使用:

private string filename="\\\\vinayb2txd\\atish\\Configuration\\MediaManagerConfig\\Web.config"; 

private string [email protected]"\\vinayb2txd\atish\Configuration\MediaManagerConfig\Web.config"; 
当你定义的文件名作为 “\ vinayb2txd \ atish \配置\ MediaManagerConfig \ Web.config中”

。它将其作为相对路径

相关问题