Bir .sln dosyasını kaynak denetimine işlemek en iyi yöntem midir? Bunu yapmak ne zaman uygun veya uygunsuz olur?
Güncelleme Cevaplarda yapılan birkaç iyi nokta vardı. Cevaplar için teşekkürler!
Bir .sln dosyasını kaynak denetimine işlemek en iyi yöntem midir? Bunu yapmak ne zaman uygun veya uygunsuz olur?
Güncelleme Cevaplarda yapılan birkaç iyi nokta vardı. Cevaplar için teşekkürler!
Yanıtlar:
Diğer cevaplardan, çözüm dosyalarının yararlı olduğu ve resmi derlemeler için kullanılmasalar bile işlenmesi gerektiğinin açık olduğunu düşünüyorum. Tanıma Git / Beyan gibi Visual Studio özelliklerini kullanan herkes için kullanışlıdırlar.
Varsayılan olarak, mutlak yollar veya makineye özgü başka yapılar içermezler. (Ne yazık ki, AMD CodeAnalyst gibi bazı eklenti araçları bu özelliği düzgün bir şekilde korumaz.) Proje dosyalarınızda (hem C ++ hem de C #) göreli yolları kullanmaya dikkat ederseniz, bunlar makineden bağımsız olacaktır. çok.
Muhtemelen daha yararlı soru şudur: Hangi dosyaları dışlamalısınız? VS 2008 projelerim için .gitignore dosyamın içeriği:
*.suo
*.user
*.ncb
Debug/
Release/
CodeAnalyst/
(Son giriş yalnızca AMD CodeAnalyst profil oluşturucu içindir.)
VS 2010 için aşağıdakileri de hariç tutmalısınız:
ipch/
*.sdf
*.opensdf
Evet - bence her zaman uygun. Kullanıcıya özel ayarlar diğer dosyalarda bulunur.
Kesinlikle almalısın. Başkalarının bahsettiği nedenlerin yanı sıra, tüm projelerin bir adımda inşa edilmesini mümkün kılmak gerekiyor.
Genel olarak çözüm dosyalarının kontrol edilmesi gerektiğini kabul ediyorum, ancak çalıştığım şirkette farklı bir şey yaptık. Oldukça büyük bir havuzumuz var ve geliştiriciler zaman zaman sistemin farklı bölümlerinde çalışıyor. Çalışma şeklimizi desteklemek için ya bir büyük çözüm dosyamız ya da daha küçük birkaç dosyamız olacaktı. Bunların her ikisinin de birkaç eksikliği vardır ve geliştiriciler kısmında manuel çalışma gerektirir. Bunu önlemek için, tüm bunları yöneten bir eklenti yaptık.
Eklenti, her geliştiricinin sadece ilgili projeleri havuzdan seçerek üzerinde çalışmak için kaynak ağacının bir alt kümesini kontrol etmesini sağlar. Eklenti daha sonra bir çözüm dosyası oluşturur ve verilen çözüm için proje dosyalarını anında değiştirir. Aynı zamanda referansları da işler. Başka bir deyişle, geliştiricinin yapması gereken tek şey uygun projeleri seçmek ve ardından gerekli dosyalar oluşturulur / değiştirilir. Bu ayrıca şirket standartlarını sağlamak için çeşitli diğer ayarları özelleştirmemize olanak tanır.
Ek olarak, eklentiyi, genellikle kullanıcıların arşive hatalı / uyumlu olmayan kod göndermesini engelleyen çeşitli giriş politikalarını desteklemek için kullanıyoruz.
Evet, taahhüt etmeniz gereken şeyler:
Taahhüt etmemeniz gereken şeyler :
Otomatik olarak oluşturulan diğer dosyalarla ilgili olarak, ayrı bir iş parçacığı vardır .
Evet, her zaman .sln dosyasını dahil etmek istersiniz, çözümdeki tüm projelerin bağlantılarını içerir.
Her şeyi senkronize ettiği için yapıyoruz. Gerekli tüm projeler bir arada bulunur ve kimsenin eksikliğini düşünmesine gerek yoktur. Derleme sunucumuz (Ant Hill Pro) ayrıca bir sürüm için hangi projelerin inşa edileceğini belirlemek için sln kullanır.
Genellikle tüm çözüm dosyalarımızı bir çözüm dizinine koyarız. Bu şekilde çözümü koddan biraz ayırıyoruz ve üzerinde çalışmam gereken projeyi seçmek daha kolay.
Çözüm dosyalarını TFS Sürüm Kontrolünde tutuyoruz. Ancak ya da ana çözüm gerçekten büyük olduğundan, çoğu geliştiricinin yalnızca ihtiyaç duyduklarını içeren kişisel bir çözümü vardır. Ana çözüm dosyası çoğunlukla yapı sunucusu tarafından kullanılır.
.slns biz tek şey değil TFS ile ilgili sorunlar vardı!