簡體   English   中英

Windows 10中的Visual Studio管理員模式

[英]Visual Studio Administrator mode in Windows 10

我不確定我的確切問題,但情況如下:

我有一個應用程序(WinForms,C#.Net),我在Visual Studio 2012中開發。它做了很多事情,但重要的是它需要從某個位置讀取文件。

在這種情況下,文件的位置在服務器上,我的機器具有用於訪問文件的映射網絡驅動器設置。 我可以使用Windows資源管理器手動導航到文件。

我的代碼中有以下行突出顯示了該問題:

System.IO.File.Exists("X:\\A Folder\\a_file.txt");

該文件確實存在於該位置。 但是,這就是出現問題的地方:如果我構建解決方案並直接從“bin”文件夾運行.exe(雙擊)。 代碼很好,它找到了文件。 但是,如果我使用visual studio運行它,那么我會得到一個“找不到文件”的例外。

我認為Visual Studio以“管理員”模式運行(我忘記了為什么我需要這個,但我這樣做)。 現在,如果您認為“管理員”帳戶沒有映射“X:\\”驅動器,這是有道理的。 但是,在我上周升級到Windows 10之前,這一直不是問題。

所以我的問題是

Visual Studio Administrator模式在Windows 10中的工作方式是否有所不同? 在這種情況下,它是否以不同方式處理映射的網絡驅

值得注意的是我從Windows 7升級,因此無法確認此問題是否也出現在8和8.1中。

在任何人問之前,讓我們說它必須是一個映射驅動器。 不允許UNC路徑!

所以我找到了解決方案/解決方法。 現在看起來好像是浪費的賞金,所以如果有人有更好的其他建議那么請發帖,我會審查他們並獎勵適用。 或者即使有人可以制作更詳細的解決方案版本,我也會獎勵那個解決方案。


該問題可能不是特定於Visual Studio,但對於以提升的權限運行的任何應用程序都會發生。 無論如何,我找到的解決方案是添加一個注冊表項,使管理員模式下運行時可以訪問相同的共享驅動器。

注冊表項位置是:

HKEY_LOCAL_MACHINE / SOFTWARE /微軟/視窗/ CURRENTVERSION /策略/系統

添加的關鍵是:

EnableLinkedConnections

並應創建為值為10x00000001 )的DWORD

我檢查了運行Windows 7的機器,他們沒有這個密鑰,但它們仍然可以正常工作。 所以我認為這不是唯一的解決方案,但似乎確實有效(尚未注明副作用)。 我假設Windows 10在某處具有特定設置,默認情況下會阻止映射驅動器以“以管理員身份運行”自動使用。

作為參考,我在這里找到了這些信息

事實上, 這是使用此注冊表項的更“官方”建議

這不太可能與Windows 10有關,只是與您的機器配置有關。 您所描述的內容是正常的,並由此知識庫文章涵蓋。 我無法檢查自己,所以只需嘗試推薦的解決方法,必要時在superuser.com上進行跟進。

可能正在運行不同的用戶/系統任務 因此,您已映射X驅動器,但其他人沒有。 您也可以在Windows安裝上的其他用戶上執行驅動器映射。 正如您所說,這不應該是Windows 10唯一的問題,而是Windows 7+和提升的權限。

也許您可以為X:路徑使用已配置的參數並在運行時加載,甚至嘗試使用UNC路徑,這些路徑將在運行時解析而不需要映射驅動器。

\\ServerNameOrIP\A Folder\a_file.txt.

在代碼中,您需要:

System.IO.File.Exists("\\\\ServerName\\A Folder\\a_file.txt");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM