.Sln / .csproj полезны для совместного использования проекта Unity?

13

У нас проблемы с GIT и Unity. Довольно часто случается, что файл .sln / .csproj доставляет нам некоторые неприятности, поэтому после поиска в Интернете я обнаружил, что, возможно, эти файлы не нужно нажимать. У кого-нибудь есть отзывы по этому поводу? https://gist.github.com/hw/1234398 Там, например, включены в .gitignore, но я, честно говоря, не знаю, что делает этот тип файлов.

Могу ли я исключить их из моего репо или этот файл имеет отношение к некоторым ссылкам в моей игре?

Максимум
источник

Ответы:

21

Исходя из своего личного опыта, я заметил, что лучше исключить * .csproj и * .sln из управления исходным кодом: Unity генерирует эти файлы каждый раз, когда вы открываете проект или все равно добавляете / удаляете исходные файлы, поэтому вы не пропустите их. Вы также можете сделать это вручную через пункт меню «Sync MonoDevelop Project».

Особенно полезно исключить их, если в проекте присутствует более одного разработчика, поскольку автоматически сгенерированное содержимое этих файлов может отличаться для каждого пользователя (это зависит от пути установки Unity и, возможно, некоторых других факторов), что может привести к множество ненужных файловых изменений, внесенных в хранилище.

Александр Константинов
источник
4
Вы также должны исключить всю библиотеку / папку.
michael.bartnett
Вы забыли написать, что он работает только с MonoDevelop и VS 20xx. Это совершенно неправильно, потому что использование vscode или rider unity не создаст никаких файлов, даже если вы добавите новый скрипт c # или перезапустите unity
Herrgott
2

Я никогда не проверяю .sln или csproj. Я проверяю только на самом деле проект единства. Позвольте Unity управлять файлами решений для вас. Это может быть головной болью, если некоторые забывают проверить только один из .csproj из папки редактора или что-то еще. Так что, если приходит новый кодер, они проверяют репо и дважды щелкают по файлу с mondevelop или vs.

Я также проверяю, чтобы Scn игнорировал все эти файлы, чтобы художник не зарегистрировал их в случае аварии.

Гектор Льянос
источник
что если новый кодер не использует этот monodevelop и не может использовать vs, потому что он использует linux?
Херрготт
0

Вы можете безопасно исключить эти файлы, потому что они автоматически воссоздаются Mono. Код внутри этих файлов читается только из открытых файлов, а не из защищенных библиотек, например, платного плагина.

AkiDakiObi
источник