2016-02-22 97 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

沒關係,這是更有意義的。 –

相關問題