![](/img/trans.png)
[英]Cannot start my program on Windows Server (Ninject problem, C#, .NET 4)
[英]Problem with copy in Windows 7 and my C# program
我在C#程序中這樣做:
File.copy(Application.StartupPath + "\Test.txt",@"c:\Test.txt");
但是我得到這個錯誤:
Access to the path 'c\Test.txt' is denied
它僅在Windows 7中才會發生,在Windows XP中它的運行效果非常好。
訪問被拒絕。 這意味着您無權訪問。 不,確實如此。
默認情況下,Windows 7中的用戶帳戶是受限的(非管理員),因此您的程序不能只寫系統上的任何地方(這就是好東西(TM))。 嘗試將Test.txt
放在另一個目錄中,例如temp目錄(詢問系統所在的目錄)。
Win 7阻止系統驅動器上的根文件夾...將文件放在您有權復制的位置。
除了其他人所說的之外,請嘗試使用特殊文件夾 。 並了解有關使您的應用程序具有UAC意識的知識
Windows 7 不允許訪問程序文件夾和根文件夾。 您可以授予目錄編寫者訪問權限或將目標路徑更改為一個用戶文件夾,例如“我的文檔”或“應用程序目錄”。
您可以使用Environment.GetFolderPath();定位此路徑。
例
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 提示: “ C:\\ Users \\ Admin \\ AppData \\ Roaming”
最好使用Path.Join加入文件和路徑
File.copy(Path.Join(Application.StartupPath, "\Test.txt"), @"c:\Test.txt");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.