所以我现在正在做一个ASP.NET项目。它要求我将一个List<>写到一个XML文件中。我在项目文件夹中创建了一个"data.xml“文件,下面是我的几行代码:
XmlSerializer serializer = new XmlSerializer(typeof(List<BookItem>));
TextWriter filestream = new StreamWriter("data.xml");
serializer.Serialize(filestream, book);
filestream.Close();一切都很顺利,直到“将数据写入xml文件”部分。我遇到了这个问题:
System.UnauthorizedAccessException: 'Access to the path 'C:\Program Files (x86)\IIS Express\data.xml' is denied.'我是否遗漏了任何设置,或者我是否应该包含任何棘手的代码行?
发布于 2017-10-25 10:54:34
尝试放置一个特定的文件位置,比如c:\data.xml,因为我认为原因是它不能写入默认位置。
TextWriter filestream = new StreamWriter(@"c:\data.xml");发布于 2017-10-25 10:01:49
也许您在覆盖.xml时遇到了问题。它是在某个地方打开的吗,比如你的IDE?如果没有,您是否有覆盖权限?试着删除它,看看你的代码是否能执行。
发布于 2017-10-25 10:06:51
你需要做两件事
1-转到您的文件并更改安全权限,允许完全控制、修改、读取和写入。
2-转到任务管理器并结束data.xml。
更改此行
TextWriter filestream = new StreamWriter("data.xml"); 变成这样
TextWriter filestream = new StreamWriter(@"fullpath");https://stackoverflow.com/questions/46922762
复制相似问题