Powinienem dodać Visual Studio.suo i.pliki użytkownika do kontroli źródła?

Rozwiązania Visual Studio zawierają dwa rodzaje ukrytych plików użytkownika. Jednym z nich jest plik solution .suo, który jest plikiem binarnym. Drugi to plik projektu .user, który jest plikiem tekstowym. Jakie dokładnie dane zawierają te pliki?

Zastanawiałem się też, czy nie powinienem dodać tych plików do source control (w moim przypadku Subversion). Jeśli nie dodam tych plików, a inny programista sprawdzi rozwiązanie, czy Visual Studio automatycznie utworzy nowe pliki użytkownika?

Author: mnciitbhu, 2008-09-16

17 answers

Te pliki zawierają konfiguracje preferencji użytkownika, które są ogólnie specyficzne dla twojego komputera, więc lepiej nie umieszczać go w SCM. Ponadto, VS zmieni go prawie za każdym razem, gdy go wykonasz, więc zawsze będzie oznaczony przez SCM jako "zmieniony". Ja też nie włączam, jestem w projekcie używającym VS od 2 lat i nie miałem żadnych problemów z zrobieniem tego. Jedyną drobną irytacją jest to, że parametry debugowania (ścieżka wykonania, cel wdrożenia itp.) są przechowywane w jednym z tych plików (Nie wiem jaki), więc jeśli masz dla nich standard, nie będziesz mógł go "opublikować" za pośrednictwem SCM, aby inni deweloperzy mieli całe środowisko programistyczne "gotowe do użycia".

 626
Author: Fabio Ceconello,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-01 18:27:04

Nie musisz ich dodawać-zawierają one ustawienia poszczególnych użytkowników, a inni programiści nie będą chcieli Twojej kopii.

 130
Author: Steve Cooper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:42:39

Inni wyjaśnili, dlaczego posiadanie plików *.suo i *.user pod kontrolą źródłową nie jest dobrym pomysłem.

Sugeruję dodanie tych wzorców do Właściwości svn:ignore z dwóch powodów:

  1. żeby inni deweloperzy nie skończyli z ustawieniami jednego programisty.
  2. więc po wyświetleniu statusu lub zatwierdzeniu pliki, te pliki nie zaśmiecą bazy kodu i zasłaniają nowe pliki, które musisz dodać.
 64
Author: JXG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-14 12:39:08

Nie zatwierdzamy pliku binarnego (*.suo), ale zobowiązujemy się .plik użytkownika. The .plik użytkownika zawiera na przykład opcje startowe do debugowania projektu. Możesz znaleźć opcje startowe we właściwościach projektu w zakładce "Debug". Użyliśmy NUnit w niektórych projektach i skonfigurowaliśmy nunit-gui.exe jako opcja start dla projektu. Bez ... plik użytkownika, każdy członek zespołu musiałby go skonfigurować osobno.

Mam nadzieję, że to pomoże.

 46
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-27 16:40:48

Ponieważ znalazłem to pytanie / odpowiedź przez Google w 2011 roku, pomyślałem, że poświęcę chwilę i dodam link do *.Pliki SDF utworzone przez Visual Studio 2010 do listy plików, które prawdopodobnie nie powinny być dodawane do kontroli wersji (IDE je odtworzy). Ponieważ nie byłem pewien, że a *.plik sdf może mieć legalne zastosowanie w innym miejscu, zignorowałem tylko konkretny [Nazwa projektu].plik sdf z SVN.

Dlaczego Visual Studio Conversion wizard 2010 tworzy ogromny SDF plik bazy danych?

 25
Author: Stephen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:45

Nie, nie powinieneś dodawać ich do kontroli źródła, ponieważ-jak powiedziałeś - są specyficzne dla użytkownika.

SUO (Solution User Options): rekordy wszystkie opcje, które możesz kojarzyć z Twoim rozwiązaniem tak, aby za każdym razem, gdy go otworzysz, zawiera dostosowania, które ty zrobiłem.

The .plik użytkownika zawiera opcje użytkownika dla projektu (podczas gdy SUO jest dla rozwiązania) i rozszerza nazwę pliku projektu (np. cokolwiek.csproj.Użytkownik zawiera ustawienia użytkownika na wszystko.projekt csproj).

 22
Author: JRoppert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:55:38

Domyślnie Visual SourceSafe firmy Microsoft nie obejmuje tych plików w kontroli źródła, ponieważ są to Pliki ustawień specyficznych dla użytkownika. Podążałbym za tym modelem, jeśli używasz SVN jako kontroli źródła.

 17
Author: cori,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:43:13

Tak wygląda opinia Microsoftu w tej sprawie: http://social.msdn.microsoft.com/forums/en-US/vssourcecontrol/thread/dee90d75-d825-4c76-a30f-016eab15ef7f

Nie wiem dlaczego twój projekt przechowuje Katalog DebuggingWorkingDirectory w akta suo. Jeśli jest to ustawienie specyficzne dla użytkownika, należy wziąć pod uwagę przechowuję to w *.proj.nazwa pliku użytkownika. Jeśli to ustawienie jest udostępniane pomiędzy wszystkimi użytkownikami pracującymi nad projektem należy rozważyć przechowywanie to w sam plik projektu.

Nawet nie myśl o dodaniu pliku suo do kontroli źródła! SUO (opcje użytkownika soluton) plik ma zawierać specyficzne dla użytkownika ustawień i nie powinny być udostępniane użytkownikom pracującym nad tym samym rozwiązanie. Jeśli dodałbyś plik suo w bazie scc to nie wiesz jakie inne rzeczy w IDE byś złamał, ale z kontroli źródła punktu widzenia złamiesz projekty internetowe integracja scc, Lan vs Wtyczka internetowa używana przez różnych użytkowników dla VSS access, i można nawet spowodować całkowite złamanie scc (ścieżka bazy danych VSS przechowywana w plik suo, który może być ważny dla ciebie, może nie być ważny dla innego użytkownika).

Alin Constantin (MSFT)

 16
Author: Scott W,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-29 15:22:59

Visual Studio automatycznie je utworzy. Nie polecam umieszczać ich pod kontrolą źródła. Było wiele razy, gdy lokalny plik SOU dewelopera powodował, że VS zachowywał się nieprawidłowo na tym pudełku deweloperów. Usunięcie pliku, a następnie odtworzenie go przez VS zawsze naprawiało problemy.

 11
Author: Bloodhound,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:42:45

Na stronie MSDN wyraźnie stwierdza, że

Opcje użytkownika rozwiązania (.suo) plik zawiera rozwiązanie dla każdego użytkownika opcje. ten plik nie powinien być sprawdzany do kontroli kodu źródłowego .

Więc powiedziałbym, że jest całkiem bezpiecznie ignorować te pliki podczas sprawdzania rzeczy do kontroli źródła.

 10
Author: Farax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-19 02:30:34

Nie zrobiłbym tego. wszystko, co może się zmienić na "użytkownika", zwykle nie jest dobre w kontroli źródeł. .suo,user, obj / bin directory

 8
Author: ScaleOvenStove,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:52:17

Pliki te są opcjami specyficznymi dla użytkownika, które powinny być niezależne od samego rozwiązania. Visual Studio utworzy nowe w razie potrzeby, więc nie trzeba ich sprawdzać w source control. Rzeczywiście, prawdopodobnie byłoby lepiej nie, ponieważ pozwala to poszczególnym programistom dostosowywać swoje środowisko według własnego uznania.

 7
Author: benefactual,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:44:07

Nie możesz kontrolować źródła .pliki użytkownika, bo to specyficzne dla użytkownika. Zawiera nazwę zdalnej Maszyny i innych rzeczy zależnych od użytkownika. To plik związany z vcproj.

The .plik suo jest plikiem związanym z sln i zawiera "opcje użytkownika rozwiązania" (projekt startowy (y), pozycja systemu windows (co jest zadokowane i gdzie, co jest pływające) itp.)

Jest to plik binarny i nie wiem, czy zawiera coś "związanego z użytkownikiem".

W naszej firmie nie bierzemy tych pliki pod kontrolą źródła.

 6
Author: ugasoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-21 09:43:09

Zawierają określone ustawienia dotyczące projektu, które są zazwyczaj przypisane do jednego programisty (jak na przykład projekt początkowy i strona startowa, aby rozpocząć podczas debugowania aplikacji).

Więc lepiej nie dodawać ich do kontroli wersji, pozostawiając VS odtworzyć je tak, że każdy deweloper może mieć określone ustawienia, które chcą.

 6
Author: massimogentilini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-14 12:49:14

.użytkownik to ustawienia użytkownika i myślę, że .suo to Opcje użytkownika rozwiązania. Nie chcesz, aby te pliki były pod kontrolą źródła; zostaną one ponownie utworzone dla każdego użytkownika.

 4
Author: Nick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:43:31

Używając Rational ClearCase odpowiedź brzmi nie, tylko .sln & * proj powinien być zarejestrowany w kontroli kodu źródłowego, nie mogę odpowiedzieć na innych dostawców. Jeśli dobrze pamiętam te pliki są" Użytkownik " specyficzne opcje, środowisko.

 3
Author: titanae,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 13:43:48

Jeśli ustawisz zależności katalogu wykonywalnego w ProjectProperties>Debugging>Environment , Ścieżki zostaną zapisane w '.pliki użytkownika.

Załóżmy, że ustawiłem ten łańcuch w powyższym polu: "PATH=C:\xyz \ bin" Tak będzie przechowywany w".plik Użytkownika:

<LocalDebuggerEnvironment>PATH=C:\xyz\bin$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>

To bardzo nam pomogło podczas pracy w OpenCV. Możemy używać różnych wersji OpenCV dla różnych projektów. Kolejną zaletą jest to, że bardzo łatwo było skonfigurować nasze projekty na nowym maszyna. Musieliśmy tylko skopiować odpowiednie dir-y zależności. Więc dla niektórych projektów, wolę dodać '.user ' to source control.

Mimo, że jest to całkowicie zależne od projektów. Możesz odebrać telefon w zależności od potrzeb.

 0
Author: adheen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-26 07:29:54