Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件上载到程序文件\某些商业程序时,对路径的访问被拒绝_C#_File - Fatal编程技术网

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可能是因为没有阅读异常消息?问题是我不能通过单击修改这些权限,因为客户端需要自己运行此程序。所以我可能需要在开始时显示用户控制警报?问题是我不能通过单击来修改这些权限,因为客户端需要自己运行此程序。所以,也许我需要在开始时显示用户控制警报?我以管理员身份运行我的应用程序,正如您所说,然后我看到句柄被另一个进程使用并且您的修复程序工作的异常:)我以管理员身份运行我的应用程序,并且正如您所说,然后我看到句柄被另一个进程使用并且您的修复程序工作的异常:)