Jak mogę załatać zestawy .NET?

Jeśli dwukrotnie skompiluję projekt C #, otrzymam dwa zespoły. Te zestawy nie są dokładnie takie same (przy użyciu różnicy binarnej). Mogę wymyślić powody, dla których tak jest, ale faktem pozostaje, że źródło dwóch zespołów jest identyczne.

Zajmuję się tworzeniem łaty między tymi zespołami i stosowaniem poprawki na komputerze klienta.

Czy ktoś zna bibliotekę (najlepiej .NET) lub narzędzie, za pomocą którego mogę tworzyć i stosować poprawki?

Najlepiej byłoby, gdyby radził sobie także z małymi zmianami, takimi jak zmiana zależności na poziomie projektu lub poprawienie kilku linii w źródle. Nie musi być w stanie poradzić sobie z większymi zmianami, ponieważ w tym przypadku chętnie zastępuję komplety.

Aktualizacja:

Myślę, że nieco więcej tła może pomóc wyjaśnić, co mam na myśli. Mam serwer ciągłej integracji budujący moją aplikację. Zmieniam wersję pliku i złożenia, aby odzwierciedlić numer kompilacji i wersję, którą buduję. Mogłem to zrobić inaczej, ale jest to opcja, którą lubię.

Powoduje to zmianę odniesień do zespołu podczas budowania aplikacji, ale jestem z tego zadowolony. Teraz zajmuję się dystrybucją aktualizacji do wcześniej wydanej wersji. Tworzę aktualizacje za pomocą InstallShield. Zestawy dostępne dla InstallShield są zredukowane do małych poprawek. Nie zwiększają one znacznie rozmiaru aktualizacji.

Moja aplikacja ma kilka plików danych, które są zasadniczo zaszyfrowanymi archiwami zawierającymi zestawy. InstallShield nie ma dostępu do tych zespołów ani nie rozumie mojego archiwum. Nie wie, jak go odszyfrować i wyodrębnić. Napisałem własną procedurę łatkową, która znajduje zmienione pliki w poprzednim archiwum i zastępuje je nową zaktualizowaną wersją. Zasadniczo strategia wyszukiwania i zastępowania.

Jedno archiwum zawiera prawie sto (i rośnie) tych zespołów, a niektóre z nich zawierają duże pliki danych jako zasoby. Te zestawy zależą od złożeń, które są częścią aplikacji. Są również kompilowane podczas ciągłej kompilacji. Niekompilowanie ich podczas kompilacji pozostawi miejsce na problemy z zależnościami i nie jestem skłonny tego zarządzać. Za każdym razem, gdy tworzę łatę, wszystkie te zestawy są dołączone. Patrzę teraz na opcje zmniejszenia rozmiaru łatki, generując poprawki dla tych zespołów.

questionAnswers(2)

yourAnswerToTheQuestion