.Sln / .csproj sono utili per condividere il progetto Unity?


13

Stiamo riscontrando alcuni problemi con GIT e Unity. Capita spesso che il file .sln / .csproj ci dia qualche problema, quindi dopo aver cercato un po 'sul web ho scoperto che forse questi file non sono necessari per il push. Qualcuno ha qualche feedback per questo? https://gist.github.com/hw/1234398 Lì per esempio sono inclusi in .gitignore, ma onestamente non so cosa faccia questo tipo di file.

Posso escluderli dal mio repository o questo file è rilevante per alcuni riferimenti nel mio gioco?

Risposte:


21

Dalla mia esperienza personale, ho notato che è meglio escludere * .csproj e * .sln dal controllo del codice sorgente: Unity genera questi file ogni volta che si apre un progetto o si aggiungono / eliminano file di origine in modo da non perderli. Puoi anche farlo manualmente tramite la voce di menu "Sincronizza progetto MonoDevelop".

È particolarmente utile escluderli se c'è più di uno sviluppatore nel progetto, perché il contenuto generato automaticamente di questi file può essere diverso per ciascun utente (ciò dipende dal percorso di installazione di Unity e probabilmente da altri fattori), che può causare molte modifiche ai file non necessarie impegnate nel repository.


4
Dovresti anche escludere l'intera Libreria / cartella.
michael.bartnett,

Hai dimenticato di scrivere che funziona solo con MonoDevelop e VS 20xx. Questo è totalmente sbagliato perché l'uso di vscode o rider unity non creerà alcun file anche se aggiungi nuovo script c # o riavvii unità
Herrgott

2

Non controllo mai in .sln o csproj. Controllo solo il progetto effettivamente unitario. Lascia che unità gestisca i file della soluzione per te. Può essere un mal di testa se alcuni dimenticano di archiviare solo uno dei .csproj dalla cartella dell'editor o qualcosa del genere. Quindi, se arriva un nuovo programmatore, controllano il repository e fanno doppio clic su un file con mondevelop o vs.

Mi assicuro anche di fare uno Scn ignore anche su tutti quei file, quindi l'artista non li registra in caso di incidente per lol


cosa succede se il nuovo programmatore non usa questo monodevelop e non può usare vs perché sta usando Linux?
Herrgott,

0

È possibile escludere in modo sicuro quei file perché vengono rigenerati automaticamente da Mono. Il codice all'interno di questi file viene letto solo da file aperti, non da DLL protette di, ad esempio, plugin a pagamento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.