2010-11-03 80 views
8

我遇到StyleCop的問題,這使我瘋狂。我最近安裝了一臺新機器和我每次去編輯主設置文件(通過Visual Studio或在了StyleCop編輯器),我收到以下錯誤時間:StyleCop設置文件無法保存

The settings file could not be saved: Access to the path 'C:\Program Files (x86)\Microsoft StyleCop 4.4.1.1\Settings.StyleCop' is denied.

如果我跑VS作爲管理員我可以編輯該文件,但對於ReSharper而言,StyleCop似乎無法識別規則更改。我卸載並重新安裝了各種版本,並獲得了相同的最終結果。

有什麼想法嗎?

回答

12

修改StyleCop安裝目錄中的Settings.StyleCop文件是可能的,但幾乎總是一個壞主意。

關於這種事情的最好方法是修改項目目錄中的Settings.StyleCop文件。我相信當你右鍵點擊一個項目並以這種方式打開設置時會創建一個。

雖然經常發生的是,您發現您需要在所有項目中完全相同的設置,並且在完成配置項目的此手動過程之前設置是錯誤的。解決方法是這樣的:

一旦你有一個單獨的項目配置正確的方式,將Settings.StyleCop文件上移一個目錄。現在您已設置解決方案而不僅僅是項目。解決方案中的所有項目現在都具有相同的設置!這意味着現在您可以爲任何不需要「典型」設置的項目創建項目級Settings.StyleCop文件。您甚至可以將其進一步升級並將Settings.StyleCop文件移動到「源代碼管理根目錄」(通常至少比解決方案級別高一級),現在您的所有解決方案都將具有相同的設置。

+0

我的2美分:在Settings.StyleCop文件添加到「解決方案項」,以確保它被簽入到源代碼控制 - 唯恐如果有人簽出您的解決方案,這是StyleCop的「兼容」,他將開始接收被警告再一次處理 – dotnetguy 2012-04-27 11:00:37

+0

哦,絕對。把它作爲一個解決方案是要走的路。我真的很驚訝,我沒有提到自己。 – Task 2012-04-27 13:59:28

+0

這是我做的。從'C:\ Program Files文件(x86)的\了StyleCop 4.7' ** 1)**我的'Settings.StyleCop'文件複製到我的 「解決方案根文件夾」。 ** 2)**在VS->了StyleCop設置我指出這個文件是「父目錄」似乎在「程序文件(x86)的」另存爲一個全局設置。 ** 3)**我打開過的文件資源管理器'Settings.StyleCop'文件通過VS-> StyleCop->設置打開它截斷該文件。 ** 4)**我現在可以擁有了StyleCop編輯器中打開,並將其設置和運行VS每StyleCop的第二輪,直到我有我喜歡的設置。 – LosManos 2014-03-03 16:28:51

2

這與StyleCop無關。由於您嘗試在Program Files文件夾中編輯某些內容,因此您受到Windows安全性的限制。默認情況下,StyleCop被設置爲不需要編輯該文件。

+0

感謝賈森,所以當我去我的StyleCop設置對話框中,選擇「設置文件」選項卡,然後單擊「編輯」更改機器定義,你是說這不應該做?我假設你說的是正確的做法,只在每個項目的基礎上配置設置? – 2010-11-04 21:50:34

3
  • 右鍵單擊項目,
  • 選擇了StyleCop設置,
  • 導航到「設置文件」選項卡,
  • 選擇「與父文件夾中設置文件合併」,然後點擊編輯,
  • 您將收到警告信息。
  • 單擊是,您可以編輯StyleCop.settings文件。

注意:您將要編輯的應用在其上運行此安裝了StyleCop的所有代碼的默認設置。

+0

注意Settings.StyleCop現在保存在(通常)C:\ Program Files文件(x86)的\ 4.7 StyleCop的。 – LosManos 2014-03-03 16:10:02

0

所有其他答案似乎告訴你「不要這樣做」,但是如果你希望這個特性能夠工作,就像Jason回答的那樣,這是Windows中的一項安全功能,可以阻止你。

解決方法:以管理員身份運行Visual Studio,使該錯誤消失,並允許Visual Studio將文件保存在程序文件目錄中。