it-swarm-eu.dev

Mám přidat soubory Visual Studio .suo a .user ke zdrojovému řízení?

Řešení Visual Studio obsahují dva typy skrytých uživatelských souborů. Jedním z nich je řešení .suo soubor, který je binárním souborem. Druhý je soubor projektu .user, což je textový soubor. Přesně jaká data obsahují tyto soubory?

Také jsem přemýšlel, zda bych měl tyto soubory přidat ke kontrole zdroje (Subversion v mém případě). Pokud tyto soubory nepřidám a jiný vývojář zkontroluje řešení, Visual Studio automaticky vytvoří nové uživatelské soubory?

783
Ben Mills

Tyto soubory obsahují konfigurace uživatelských preferencí, které jsou obecně specifické pro váš počítač, takže je lepší, aby se do SCM nevkládaly. Také VS ji změní téměř pokaždé, když ji provedete, takže bude vždy označena SCM jako „změněno“. Nezahrnuji ani já, jsem v projektu používajícím VS po dobu 2 let a neměl žádné problémy. Jediná malá mrzutost je, že parametry ladění (cesta spuštění, cíl nasazení atd.) Jsou uloženy v jednom z těchto souborů (nevím, které), takže pokud máte pro ně standard, nebudete schopni je zveřejnit „přes SCM pro ostatní vývojáře, aby měli celé vývojové prostředí připraveno k použití“.

638
Fabio Ceconello

Nemusíte je přidávat - obsahují nastavení pro uživatele a ostatní vývojáři nebudou chtít kopii.

131
Steve Cooper

Jiní vysvětlili, proč mít soubory *.suo a *.user pod kontrolou zdroje není dobrý nápad.

Chci navrhnout, abyste tyto vzory přidali do vlastnosti svn:ignore ze dvou důvodů:

  1. Jiní vývojáři tak nebudou ukončeni Nastavením jednoho vývojáře.
  2. Když tedy prohlížíte stav nebo spácháte soubory , Tyto soubory nebudou blokovat kódovou základnu a zakrývají nové soubory, které potřebujete přidat.
66
JXG

Nezadáme binární soubor (* .suo), ale spácháme soubor .user. Soubor .user obsahuje například možnosti spuštění pro ladění projektu. Možnosti spuštění naleznete ve vlastnostech projektu v záložce "Debug". V některých projektech jsme použili NUnit a nakonfigurovali jsme nunit-gui.exe jako možnost startu projektu. Bez souboru .user by jej každý člen týmu musel konfigurovat samostatně.

Snad to pomůže.

47
Thomas

Vzhledem k tomu, že jsem tuto otázku/odpověď našel v roce 2011 prostřednictvím Googlu, myslel jsem, že si vezmu sekundu a přidám odkaz na soubory * .SDF vytvořené aplikací Visual Studio 2010 do seznamu souborů, které by neměly být přidány do správy verzí ( IDE je znovu vytvoří). Vzhledem k tomu, že jsem si nebyl jistý, že soubor * .sdf může mít legitimní použití jinde, ignoroval jsem pouze specifický soubor [projectname] .sdf z SVN.

Proč průvodce převodem Visual Studio 2010 vytvořit masivní soubor databáze SDF?

25
Stephen

Ne, neměli byste je přidávat do řízení zdrojů, protože - jak jste říkali - jsou uživatelsky specifické.

SUO (Solution User Options): Zaznamenává Všechny možnosti, které můžete Spojit s vaším řešením tak, aby Při každém jeho otevření obsahovalo Přizpůsobení že jste učinili [.]. 

Soubor .user obsahuje uľivatelské moľnosti pro projekt (zatímco SUO je pro řeąení) a roząiřuje název souboru projektu (např. What.csproj.user obsahuje uľivatelská nastavení projektu what.csproj).

22
JRoppert

Zdá se, že se jedná o stanovisko společnosti Microsoft v této věci:

Přidávání (a úpravy) souborů .suo ke zdrojovému řízení

Nevím, proč váš projekt ukládá DebuggingWorkingDirectory do souboru . Pokud se jedná o nastavení specifické pro uživatele, měli byste zvážit uložení Do souboru * .proj.user. Pokud je toto nastavení sdílitelné Mezi všemi uživateli pracujícími na projektu, měli byste zvážit uložení Do samotného souboru projektu.

Ani nepřemýšlejte o přidání souboru suo ke zdrojovému řízení! Soubor SUO (Soluton user options) má obsahovat uživatelská nastavení A neměl by být sdílen mezi uživateli pracujícími na stejném řešení . Pokud byste přidali soubor suo do databáze scc, nepoznám , Jaké další věci v IDE byste rozbili, ale z pohledu zdroje budete porušovat webové projekty scc integrace, Lan vs Internetový plugin používaný různými uživateli pro přístup k VSS, a můžete dokonce způsobit, že scc se úplně zlomí (cesta databáze VSS uložená v [.____. .] suo soubor, který může být pro vás platný, nemusí být platný pro jiného uživatele).

Alin Constantin (MSFT)

17
Scott W

Ve výchozím Microsoft Visual SourceSafe nezahrnuje tyto soubory do ovládacího prvku zdroje, protože jsou soubory nastavení specifické pro uživatele. Tento model bych sledoval, pokud používáte SVN jako zdroj.

17
cori

Visual Studio je automaticky vytvoří. Nedoporučuji je vkládat do ovládání zdroje. Tam byly četné časy, kdy místní vývojář SOU soubor byl příčinou VS chovat nesprávně, že vývojáři box. Odstranění souboru a pak nechat VS znovu vytvořit vždy opravené problémy. 

11
Bloodhound

Na stránce webová stránka MSDN to jasně uvádí, že 

Soubor řešení uživatelských voleb (.suo) obsahuje možnosti uživatelského řešení . Tento soubor by neměl být kontrolován ke kontrole zdrojového kódu.

Řekl bych, že je to docela bezpečné ignorovat tyto soubory při kontrole ve vašem zdrojovém řízení. 

10
Farax

Ne. Cokoliv, co by se mohlo změnit na „uživatele“, obvykle není dobré v řízení zdroje. .suo, .user, adresáře obj/bin

8
ScaleOvenStove

Tyto soubory jsou uživatelsky specifické volby, které by měly být nezávislé na samotném řešení. Visual Studio vytvoří nové podle potřeby, takže není nutné je kontrolovat. Pravděpodobně by bylo lepší, kdyby to jednotlivým vývojářům umožňovalo přizpůsobit jejich prostředí, jak uzná za vhodné.

7
benefactual

Soubory .user nelze ovládat zdrojem, protože to je specifické pro uživatele. Obsahuje název vzdáleného počítače a další věci závislé na uživateli. Je to soubor související s vcprojem.

Soubor .suo je soubor, který souvisí se sln a obsahuje "možnosti uživatelského řešení" (spouštěcí projekt (y), poloha oken (co je ukotveno a kde, co je plovoucí) atd.)

Je to binární soubor a nevím, jestli obsahuje něco, co souvisí s uživatelem.

V naší společnosti tyto soubory nebereme pod kontrolu zdroje.

6
ugasoft

Obsahují specifická nastavení projektu, která jsou obvykle přiřazena jednomu vývojáři (například počátečnímu projektu a počáteční stránce, která se spustí při ladění aplikace).

Je tedy lepší je nepřidávat do řízení verzí a ponechat VS znovu, aby každý vývojář mohl mít konkrétní nastavení. 

6
massimogentilini

.user je uživatelské nastavení, a myslím, že .suo je řešení uživatelských možností. Nechcete tyto soubory pod kontrolou zdroje; budou pro každého uživatele znovu vytvořeny.

4
Nick

Použití Rational ClearCase odpověď je ne. Do řízení zdrojového kódu by mělo být zaregistrováno pouze .sln &. * Proj.

Nemůžu odpovědět na jiné dodavatele. Pokud si vzpomínám správně, tyto soubory jsou "uživatelské" specifické možnosti, vaše prostředí.

3
titanae

Nepřidávejte žádný z těchto souborů do řízení verzí. Tyto soubory jsou automaticky generovány s konkrétními informacemi o pracovní stanici, pokud jsou přihlášeny k řízení verzí, což způsobí potíže v jiných pracovních stanicích. 

1
Amila

Ne, neměly by být zavázány ke zdrojovému řízení, protože jsou to lokální nastavení specifická pro vývojáře/stroje.

GitHub udržuje seznam navrhovaných typů souborů pro uživatele aplikace Visual Studio, které mají být ignorovány https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

Pro svn mám následující sadu global-ignore vlastností:

* .DotSettings.User
[.] * .etet2
* .suo
.vs
PrecompiledWeb
thumbs.db
obj
zásobník
ladit
[.]. * .user
* .vshost. *
[.] * .tss
* .dbml.layout

0
Stephen Kennedy

Jak je vysvětleno v jiných odpovědích, jak .suo, tak .user by neměly být přidávány ke zdrojovému řízení, protože jsou specifické pro uživatele/stroj (BTW .suo pro nejnovější verze VS bylo přesunuto do vyhrazeného dočasného adresáře .vs, který by měl být uchováván mimo zdroj zcela).

Nicméně pokud vaše aplikace vyžaduje nějaké nastavení prostředí pro ladění ve VS (taková nastavení jsou obvykle uložena v souboru .user), může být užitečné připravit ukázkový soubor (pojmenovat ho jako .user.SAMPLE) a přidat jej do zdroje ovládání referencí.

Namísto pevné kódované absolutní cesty v takovém souboru má smysl používat relativní nebo se spoléhat na proměnné prostředí, takže vzorek může být dostatečně obecný, aby byl snadno použitelný jinými uživateli.

0
AntonK

Pokud nastavíte spustitelné závislosti dir v ProjectProperties> Debugging> Environment , cesty budou uloženy v souborech '.user'. 

Předpokládám, že tento řetězec nastavím ve výše uvedeném poli: "PATH = C: xyz bin" Takto se uloží do souboru .user: 

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

To nám hodně pomohlo při práci v OpenCV. Pro různé projekty bychom mohli použít různé verze OpenCV. Další výhodou je, že bylo velmi snadné nastavit naše projekty na nový stroj. Prostě jsme museli kopírovat odpovídající závislost dirs. Takže u některých projektů dávám přednost přidání '.user' ke zdrojovému řízení. 

Přestože je zcela závislá na projektech. Můžete volat na základě vašich potřeb.

0
adheen