Czy .sln / .csproj jest użyteczny do udostępniania projektu Unity?

13

Mamy problemy z GIT i Unity. Dość często zdarza się, że plik .sln / .csproj przysparza nam kłopotów, więc po dłuższym wyszukiwaniu w sieci odkryłem, że być może te pliki nie są potrzebne do wypychania. Czy ktoś ma na to jakieś uwagi? https://gist.github.com/hw/1234398 Tam są na przykład zawarte w .gitignore, ale szczerze mówiąc nie wiem, co robi ten rodzaj plików.

Czy mogę wykluczyć je z mojego repozytorium lub ten plik ma znaczenie dla niektórych odniesień w mojej grze?

Max
źródło

Odpowiedzi:

21

Z własnego doświadczenia zauważyłem, że lepiej jest wykluczyć * .csproj i * .sln z kontroli źródła: Unity generuje te pliki za każdym razem, gdy otwierasz projekt lub dodajesz / usuwasz pliki źródłowe, abyś ich nie przegapił. Możesz to również zrobić ręcznie za pomocą pozycji menu „Sync MonoDevelop Project”.

Szczególnie przydatne jest ich wykluczenie, jeśli w projekcie jest więcej niż jeden programista, ponieważ zawartość tych plików generowana automatycznie może być różna dla każdego użytkownika (zależy to od ścieżki instalacji Unity i prawdopodobnie innych czynników), co może powodować wiele niepotrzebnych zmian plików zatwierdzonych w repozytorium.

Alexander Konstantinov
źródło
4
Powinieneś także wykluczyć całą bibliotekę / folder.
michael.bartnett
Zapomniałeś napisać, że działa tylko z MonoDevelop i VS 20xx. Jest to całkowicie błędne, ponieważ użycie vscode lub jedności jeźdźca nie utworzy żadnych plików, nawet jeśli dodasz nowy skrypt c # lub zrestartujesz jedność
Herrgott
2

Nigdy nie sprawdzam w .sln lub csproj. Sprawdzam tylko faktyczny projekt jedności. Pozwól Unity zarządzać plikami rozwiązania dla Ciebie. Może to być ból głowy, jeśli niektórzy zapomną wpisać tylko jeden plik .csproj z folderu edytora lub coś takiego. Więc jeśli pojawi się nowy koder, sprawdzają repozytorium i dwukrotnie klikają plik mondevelop lub vs.

Upewniam się również, że Scn zignoruje również wszystkie te pliki, aby artysta nie zameldował ich przypadkowo, aby

Hector Llanos
źródło
co jeśli nowy programista nie używa tego monorozwoju i nie może używać vs, ponieważ używa Linuksa?
Herrgott,
0

Możesz bezpiecznie wykluczyć te pliki, ponieważ są one automatycznie generowane ponownie przez Mono. Kod w tych plikach jest odczytywany tylko z otwartych plików, nie chronionych bibliotek DLL np. Płatnej wtyczki.

AkiDakiObi
źródło