2010-11-03 22 views
8

Mam problem z StyleCop, który doprowadza mnie do szału. Niedawno zainstalowany na nowym komputerze i za każdym razem idę do edycji pliku ustawienia Master (albo za pośrednictwem Visual Studio lub edytora StyleCop), otrzymuję następujący błąd:Nie można zapisać pliku ustawień 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.

Jeśli uruchomić VS jako administrator mogę edytować plik, ale StyleCop dla ReSharper nie rozpoznaje zmian reguł. Odinstalowałem i ponownie zainstalowałem różne wersje z tym samym wynikiem końcowym.

Jakieś pomysły tam?

Odpowiedz

12

Modyfikowanie pliku Settings.StyleCop w katalogu instalacyjnym StyleCop jest możliwe, ale prawie zawsze jest to zły pomysł.

Najlepszym sposobem na zrobienie tego typu rzeczy jest zmodyfikowanie pliku Settings.StyleCop w katalogu projektu. Uważam, że jeden jest tworzony po kliknięciu projektu prawym przyciskiem myszy i otwarciu ustawień w ten sposób.

To, co często się zdarza, polega na tym, że potrzebne są dokładnie takie same ustawienia w WSZYSTKICH projektach, a ustawienia są nieprawidłowe, dopóki nie przejdzie się przez ten ręczny proces konfigurowania projektu. Sposób obejścia tego jest następujący:

Po skonfigurowaniu pojedynczego projektu we właściwy sposób przenieś plik Settings.StyleCop w jeden katalog. Teraz masz ustawienia dla rozwiązanie zamiast tylko projektu. Wszystkie projekty w roztworze będą teraz miały te same ustawienia! Oznacza to, że teraz możesz utworzyć plik Settings.StyleCop na poziomie projektu dla dowolnego projektu, który nie wymaga "typowych" ustawień. Możesz nawet zrobić to jeszcze dalej i przenieść plik Settings.StyleCop do "root control root" (często co najmniej o jeden poziom wyżej niż poziom rozwiązania), a teraz wszystkie twoje rozwiązania będą miały te same ustawienia.

+0

Moje 2 centy: Dodaj plik Settings.StyleCop do "Elementów rozwiązania", aby upewnić się, że zostanie on zarejestrowany w kontrolerze kodu źródłowego - bo jeśli ktoś sprawdzi Twoje rozwiązanie, które było zgodne z "StyleCop", zacznie otrzymywać ostrzeżenia, które były załatwił wszystko od nowa – dotnetguy

+0

Och, absolutnie. Posiadanie go jako elementu rozwiązania jest drogą do zrobienia. Właściwie to jestem zaskoczony, że sam o tym nie wspomniałem. – Task

+0

Oto co zrobiłem. Z 'C: \ Program Files (x86) \ StyleCop 4.7' ** 1) ** Skopiowałem plik' Settings.StyleCop' do mojego "głównego folderu rozwiązania". ** 2) ** W ustawieniach w VS-> StyleCop wskazałem, że ten plik jako "katalog nadrzędny" wydaje się zapisywać w "plikach programu (x86)" jako ustawienie globalne. ** 3) ** Otworzyłem plik 'Settings.StyleCop' za pomocą Eksploratora plików, otwierając go poprzez VS-> StyleCop-> ustawienia skracały plik. ** 4) ** Mogę teraz mieć otwarty edytor StyleCop i zastosować jego ustawienia i uruchomić StyleCop w VS co drugą turę, aż mam ustawienia, które mi się podobają. – LosManos

2

To nie ma nic wspólnego z StyleCop. Jesteś ograniczony przez zabezpieczenia systemu Windows, ponieważ próbujesz edytować coś w folderze Program Files. Domyślnie StyleCop jest tak skonfigurowany, że nie trzeba już edytować tego pliku.

+0

Dziękuję Jason, więc kiedy przejdę do mojego okna dialogowego ustawień StyleCop, wybierz zakładkę "Pliki ustawień", a następnie kliknij "Edytuj", aby zmienić definicje maszyny, czy mówisz, że nie powinno się tego robić?Zakładam, że mówisz prawidłowa praktyka, aby konfigurować ustawienia tylko na podstawie projektu? –

3
  • prawym przyciskiem myszy na projekcie
  • Wybierz StyleCop Ustawienia,
  • przejdź do „Ustawianie pliki” kartę,
  • Wybierz „połączyć z pliku w ustawieniach folderów nadrzędnych” i kliknij Edytuj,
  • Otrzymasz komunikat ostrzegawczy.
  • Kliknięcie przycisku Tak umożliwia edycję pliku StyleCop.settings.

Uwaga: Zamierzasz edytować domyślne ustawienia, które zostaną zastosowane do wszystkich kodów, na których uruchamiana jest ta instalacja StyleCop.

+0

Należy zauważyć, że Settings.StyleCop jest teraz zapisywany w (zazwyczaj) C: \ Program Files (x86) \ StyleCop 4.7. – LosManos

0

Wszystkie pozostałe odpowiedzi brzmią: "nie rób tego", ale jeśli chcesz, aby ta funkcja działała, jak odpowiedział Jason, jest to funkcja zabezpieczająca w systemie Windows.

Aby naprawić: Uruchom Visual Studio "jako administrator", aby ten błąd zniknął i pozwól visual studio zapisać plik w katalogu plików programu.

Powiązane problemy