Csharp/C#教程:错误:mscorlib.dll中发生未处理的“System.UnauthorizedAccessException”类型exception分享


错误:mscorlib.dll中发生未处理的“System.UnauthorizedAccessException”类型exception

当我尝试将文件复制到某个位置时,这是崩溃并给我这个错误的部分。

string startupDirectory = "C:\Users\Tyler\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"; File.Copy(startupDirectory, "Startup.exe"); 

我已经在线阅读并尝试了管理员权限,并创建了一个“app.manifest”文件:

   

我确认在设置中,应用清单设置为此文件,但它仍然给我相同的错误。

我也尝试过这个事件虽然我认为它不会起作用,因为它是一个目录而不是一个文件:

 File.SetAttributes(startupDirectory, FileAttributes.Normal); 

这是WinForms,我在Windows 7上,但也希望它适用于Windows 8+的世界。 我该怎么做呢?

提前致谢!

尝试

 public static void Copy(string sourceFileName, string destFileName); 

第一个重载是源第二个重载是目的地我认为原因可能是这个

 File.Copy("Startup.exe",startupDirectory); 

尝试为您正在读取/保存文件的.Net用户设置“完全控制”的访问权限。

对于特定文件的IIS服务器中的访问拒绝错误,请按照以下步骤操作

 1- Goto to C:\Users\Tyler\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 2- Right click on your file -> Properties -> Pop Up of User properties appears -> click on Security tab-> click on Edit -> select Users-> tick on Allow Full Control -> Click Ok 

这肯定会解决Access拒绝问题

UnauthorizedAccessException意味着以下三种情况之一:

此错误由Windows错误触发。 它没有专门的“这使得完全没有意义”的错误代码,它只是产生一个“访问被拒绝”错误代码。 哪个.NET转换为UnauthorizedAccessException。

这里的“毫无意义”问题是您尝试使用文件复制方法复制目录 。 目录不是文件。 复制目录需要先创建一个新目录,然后复制目录中的所有文件。 .NET有一种方法,大多数C#程序员倾向于认为它是“错误的”命名空间。 它是Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory()。

但是你需要多考虑一下这个问题,当然没有必要调用新目录“startup.exe”。 可能意味着从Startup目录中复制特定文件,我们无法猜测它可能是什么。

试试这个:

  File.Copy(startupDirectory, "Startup.exe", true); File.SetAttributes("Startup.exe", FileAttributes.Normal); 

您可以使用管理权限运行Visual Studio。 (假设Windows7,右键单击开始菜单中的Visual Studio图标,然后单击“以管理员身份运行”)

上述就是C#学习教程:错误:mscorlib.dll中发生未处理的“System.UnauthorizedAccessException”类型exception分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1015113.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐