2016-02-22 66 views
0

我想将当前正在执行的程序集移动到C盘。当我尝试下面的代码:移动当前可执行文件c#

File.Move(Assembly.GetEntryAssembly().Location, @"c\"); 

它给了我一个错误:

An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

这个问题能解决吗?

File.Move(Assembly.GetEntryAssembly().Location, @"c:\xxx\foo.exe"); 

+0

,因为该系统是打开它无法移动当期可执行。 – Sakura

+0

您无法移动正在运行的程序的EXE,但可以将其复制。 – duDE

+0

你有什么异常? –

回答

2

您必须对目标文件提供(在C盘根写:需要提升)

+0

[测试]我不敢相信,实际上工作;它复制并删除了原始文件。 :O –

+1

那么没有东西被删除 - 你不能删除一个正在运行的可执行文件,但移动是重命名,这只是文件系统的更新,这不需要干扰正在运行的映像。 –

+0

没关系,这是更有意义的。 –

相关问题