C# 将文件上载到程序文件\某些商业程序时,对路径的访问被拒绝
我得到一个错误:C# 将文件上载到程序文件\某些商业程序时,对路径的访问被拒绝,c#,file,C#,File,我得到一个错误: Access to the path 'C:\Program Files (x86)\MetaTrader FIX\experts\indicators\Awesome.ex4' is denied./n at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileA
Access to the path 'C:\Program Files (x86)\MetaTrader FIX\experts\indicators\Awesome.ex4' is denied./n at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.File.Create(String path)
at Iron_loader.Program.Main(String[] args) in C:\Users\Damian\Documents\Visual Studio 2010\Projects\Iron loader\Iron loader\Program.cs:line 55
当我从\bin\Debug运行exe文件时。
我不知道这是为什么。在目标目录中没有这样的文件,所以我认为安全性有问题,因为当我以管理员身份从VS运行我的程序时,一切都正常
我正试图上传文件到其他程序的文件夹(不是我的)。
我怎样才能复制那个文件
File.Create(newPath);
File.Copy(pathOfFileFromMyDebugDirectory, newPath);
检查文件夹的权限。用户没有修改/完全控制权限
选择文件夹上的属性,然后选择安全选项卡,并检查当前用户或安装应用程序的用户的权限。正在运行作为 检查文件夹的权限。用户没有修改/完全控制权限
选择文件夹上的属性,然后选择安全选项卡,并检查当前用户或安装应用程序的用户的权限。正在运行作为 …请参见下面的编辑 我认为部分问题在于“进程”尚未释放文件句柄。试试这个:
using (Stream stream = File.Create(newPath))
{}
File.Copy(pathOfFileFromMyDebugDirectory, newPath);
在using块中点击右大括号后,将调用基本流Dispose()
方法,并释放所有资源,包括进程的文件句柄
编辑您是否在“File.Create”调用中收到异常?我误读了你的错误。如果在Create()方法中出现异常,则需要确保对路径具有写入的权限
我相信,当你纠正配股问题时,你可能会得到另一个进程正在使用句柄的例外情况。如果是这样,请使用我上面的建议进行修复。…请参阅下面的编辑 我认为部分问题在于“进程”尚未释放文件句柄。试试这个:
using (Stream stream = File.Create(newPath))
{}
File.Copy(pathOfFileFromMyDebugDirectory, newPath);
在using块中点击右大括号后,将调用基本流Dispose()
方法,并释放所有资源,包括进程的文件句柄
编辑您是否在“File.Create”调用中收到异常?我误读了你的错误。如果在Create()方法中出现异常,则需要确保对路径具有写入的权限
我相信,当你纠正配股问题时,你可能会得到另一个进程正在使用句柄的例外情况。如果是这样,请使用我上面的建议进行修复。如果操作系统和Windows XP之后的版本,环氧树脂将不会在C:\ProgramFilesx86中读写,因为uac 您必须以管理员权限启动应用程序
注意。如果操作系统和Windows XP之后的版本,环氧树脂将不会在C:\ProgramFilesx86中读写,因为uac 您必须以管理员权限启动应用程序
关于。为什么这个问题被否决了?@IAbstract可能是因为没有阅读异常消息?为什么这个问题被否决了?@IAbstract可能是因为没有阅读异常消息?问题是我不能通过单击修改这些权限,因为客户端需要自己运行此程序。所以我可能需要在开始时显示用户控制警报?问题是我不能通过单击来修改这些权限,因为客户端需要自己运行此程序。所以,也许我需要在开始时显示用户控制警报?我以管理员身份运行我的应用程序,正如您所说,然后我看到句柄被另一个进程使用并且您的修复程序工作的异常:)我以管理员身份运行我的应用程序,并且正如您所说,然后我看到句柄被另一个进程使用并且您的修复程序工作的异常:)