2011-03-16 58 views
2

每當我關閉VS 2008.在重新打開時,重置海關設置。我無法從設置文件成功導入設置,因爲導入設置時VS不會更改。我可以做的唯一選擇是通過並手動更改所有設置,並且不關閉VS.任何人都經歷過這個?visual studio 2008設置在關閉時得到重置

環境 Windows 7的
VS 2008
64位Intel

回答

4

是Visual Studio中的用戶帳戶的情況下啓動?任何在快捷方式屬性中修改的東西?

VS2008設置存儲在註冊表中HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\...。這個註冊表項有什麼不尋常的嗎?

例如,找到您可能更改的設置之一,如General\FileReloadOption,選擇它並在菜單中點擊Edit/Permissions。您應該看到您的用戶帳戶具有從CURRENT_USER鍵繼承的所有權和完全控制權(您需要點擊高級以查看繼承和所有權信息)。

您可以嘗試刪除此註冊表項並讓VS重新創建它,但我會先使用導出選項進行備份。

如果這不會導致任何地方,我會建議運行ProcMon來觀察Visual Studio在註冊表中執行的操作。如果它試圖在其他地方寫設置,或者沒有寫入設置,那麼將在ProcMon中顯示。

編輯:

在過濾器設置,添加:

  • 進程名稱是devenv.exe的
  • 事件類是寫
  • 類是註冊

我開始VS2008開始使用這些設置登錄procmon,並將tools/options/autosave/interval修改爲6分鐘。當我關閉選項對話框,我立刻看到了這一點:

screenshot

如果你能得到相同的輸出,你應該能夠看到,如果它在一個意想不到的地點保存設置,並查看結果代碼RegSetValue API,它將指出如果它失敗,問題是什麼。順便說一下,我也在Win7/64上,但我禁用了UAC。如果您使用UAC運行,您可以嘗試暫時禁用它以查看是否有任何影響。

+0

我很感激幫助,但我沒有注意到procmon中的任何異常。主要是因爲我不知道什麼是正常的,而且數據量幾乎超載。 – gh9 2011-03-23 14:28:19

+0

@ gh9嘗試更新中的過濾器設置。 – 2011-03-23 15:05:23

+0

修復了,這是一個不好的註冊表寫入。我刪除了它正在寫入的寄存器值。然後重新導入並運行。謝謝!! – gh9 2011-03-23 18:40:11