Jeżeli pracujecie offline w VS2010 na solution dodanym do TFS czasami natraficie na taki o to box:

offline-01

Ogólnie informuje on was, że plik jest tylko do odczytu, chodzi o to by plik który jest z check-inowany jakoś oznaczyć.

Opcja edit in-memory spowoduje potem wyświetlenie się okna:

offline-02

Zaś opcja make writeable nadpisze plik i umożliwi wam jego edycję, dzięki czemu potem nie uzyskacie okna wyświetlonego powyżej.

Jednak zaznaczenie checkboxa Don’t show this dialog again (Never allow in memory edits) spowoduje zmianę w rejestrze która dosłownie mówiąc uniemożliwi wam potem w pełni pracę z ReSharperem – w szczególności jeżeli nie wszystkie pliki były oznaczone jako writeable. Dla przykładu chcecie zmienić nazwę klasy (Ctrl+R+R), która jest wykorzystywana w kilkunastu miejscach (plikach). Po zaznaczeniu checkboxa zamiast zmodyfikowanych plików otrzymacie piękny dźwięk z głośników, który przeważnie informuje, że coś nie działa. I tyle, nic więcej.

Oczywiście nie tylko R# przestanie działać, również edycja pliku z poziomu VS też będzie zwracała ten piękny dźwięk błędu. W VS można to obejść poprzez zaznaczenie opcji:

offline-03

Co dokładnie spowoduje to samo co opcja edit in-memory z pierwszego screenu. Jednak nie naprawi to R# :(

Rozwiązaniem problemu jest niestety edycja rejestru. Należy zmienić wartość UncontrolledInMemoryEditDialogSuppressed klucza HKCUSoftwareMicrosoftVisualStudio10.0SourceControl z 1 na 0. To spowoduje przywrócenie okna z pierwszego screenshotu.

Niestety nie znalazłem możliwości na przywrócenie tego okna w opcjach VS.

Poleciłbym też odznaczyć opcje Allow editing of read-only files; warn when attempt to save – tak na wszelki wypadek :)