我有一个应用程序,可以在未经授权的异常中更改webconfig中的连接字符串。有没有办法允许访问该文件?谢谢你的帮助。
异常消息:System.UnauthorizedAccessExeption:拒绝访问路径“PATH”。 //文件路径到xml文件
var adminConnectionStringConfig = new FileInfo(e.Data.Details.VSStudio.Solution.FullName).Directory
+ @"\Web.Admin\ConnectionStrings.config";
//Method that updates the xml file
private void SetupConnectionStrings(string path, string newDb)
{
var doc = new XmlDocument();
doc.Load(path);
XmlNode node = doc.SelectSingleNode("configuration/connectionStrings");
for (int i = 0; i < node.ChildNodes.Count; i++)
{
if (node.ChildNodes[i].Attributes["name"].Value == "SYS")
{
//Get ConnectionString for client project
var connectionString = node.ChildNodes[i].Attributes["connectionString"].Value;
// Cut all
var dbName = node.ChildNodes[i].Attributes["connectionString"]
.Value.Substring(connectionString.IndexOf("Catalog="));
dbName = dbName.Replace("Catalog=", "");
//Db Name that we will now replace
dbName = dbName.Substring(0, dbName.IndexOf(";"));
// System.Diagnostics.Debugger.Launch();
doc.InnerXml = doc.InnerXml.Replace(dbName, newDb);
doc.Save(path);
break;
}
}
}
答案 0 :(得分:1)
您可以采取一些步骤。
首先,我确保您的XML文件不是只读的。
如果这不起作用,那么您可以以管理员身份运行项目。如果你不是管理员,有些目录不允许你修改Windows。
如果您右键单击visual studio,然后选择run as administrator
,那么它将自动以管理员身份调试您的项目。