Sind .sln / .csproj nützlich, um das Unity-Projekt zu teilen?

13

Wir haben einige Probleme mit GIT und Unity. Es kommt ziemlich oft vor, dass die Datei .sln / .csproj uns Probleme bereitet. Nach einer Weile im Internet habe ich festgestellt, dass diese Dateien möglicherweise nicht zum Pushen erforderlich sind. Hat jemand eine Rückmeldung dazu? https://gist.github.com/hw/1234398 Dort sind zum Beispiel die .gitignore enthalten, aber ich weiß ehrlich gesagt nicht, was diese Art von Dateien macht.

Kann ich sie aus meinem Repo ausschließen oder ist diese Datei für einige Referenzen in meinem Spiel relevant?

Max
quelle

Antworten:

21

Aus eigener Erfahrung habe ich festgestellt, dass es besser ist, * .csproj und * .sln von der Quellcodeverwaltung auszuschließen: Unity generiert diese Dateien jedes Mal, wenn Sie ein Projekt öffnen oder Quelldateien hinzufügen / löschen, damit Sie sie nicht verpassen. Sie können dies auch manuell über den Menüpunkt "MonoDevelop-Projekt synchronisieren" tun.

Es ist besonders nützlich, sie auszuschließen, wenn sich mehr als ein Entwickler im Projekt befindet, da der automatisch generierte Inhalt dieser Dateien für jeden Benutzer unterschiedlich sein kann (dies hängt vom Unity-Installationspfad und möglicherweise von einigen anderen Faktoren ab) Viele unnötige Dateiänderungen wurden in das Repository übernommen.

Alexander Konstantinov
quelle
4
Sie sollten auch die gesamte Bibliothek / den gesamten Ordner ausschließen.
michael.bartnett
Sie haben vergessen zu schreiben, dass es nur mit MonoDevelop und VS 20xx funktioniert. Dies ist völlig falsch, da die Verwendung von vscode oder Rider Unity keine Dateien erstellt, selbst wenn Sie ein neues C # -Skript hinzufügen oder Unity neu starten
Herrgott,
2

Ich checke niemals die .sln oder csproj ein. Ich checke nur das eigentlich Unity-Projekt ein. Lassen Sie die Lösungsdateien von unity für Sie verwalten. Es kann Kopfzerbrechen bereiten, wenn manche vergessen, nur eine der .csproj-Dateien aus dem Editor-Ordner einzuchecken oder so. Kommt also ein neuer Coder herein, checkt er das Repo aus und klickt doppelt auf eine Datei mit mondevelop oder vs.

Ich achte auch darauf, dass all diese Dateien von Scn ignoriert werden, damit der Künstler sie nicht versehentlich eincheckt

Hector Llanos
quelle
Was ist, wenn der neue Codierer dieses Monodevelop nicht verwendet und vs nicht verwenden kann, weil er Linux verwendet?
Herrgott
0

Sie können diese Dateien sicher ausschließen, da sie von Mono automatisch neu generiert werden. Der Code in diesen Dateien wird nur aus geöffneten Dateien gelesen, nicht aus geschützten DLLs von beispielsweise kostenpflichtigen Plugins.

AkiDakiObi
quelle