Βρίσκομαι αντιμέτωπος με ένα ενδιαφέρον πρόβλημα.
Έχω ένα σύνολο από windows Application & windows Service solutions, τα οποία μοιράζονται μεταξύ άλλων, και ένα project (class library). Όλα τα παραγόμενα assemblies είναι signed, και καθορίζω ο ίδιος το versioning (δηλ. δεν είναι αυτόματο).
Το πρόβλημα είναι πως, όταν κάνω κάποια αλλαγή στο κοινό αυτό project, η αλλαγή πρέπει να γίνει και στα υπόλοιπα solutions, αλλιώς λαμβάνω μηνύματα λάθους, για αδυναμία εύρεσης της συγκεκριμένης έκδοσης του DLL. Οι εφαρμογές επικοινωνούνε μεταξύ τους με τη χρήση Sockets, όπου ακολουθείται το τυπικό "Binary Serialize -> Transport -> Deserialize).
Ωστόσο, οι αλλαγές οι οποίες γίνονται, δεν επηρρεάζουν τον ήδη υπάρχοντα κώδικα (πχ μπορεί να ζητήσω ένα αντικείμενο από τη μία εφαρμογή με έκδοση του common project 1.0.5.0, το οποίο δεν έχει αλλάξει στην έκδοση 1.0.5.1 του common project, που χρησιμοποιεί η άλλη εφαρμογή-αποστολέας).
Δουλεύω σε .net 2.0. Έχω δοκιμάσει να διατηρήσω ίδιο το νούμερο των εκδόσεων μεταξύ builds, χωρίς αποτέλεσμα. Αφαίρεσα το common project από 2 solutions και έβαλα reference αυτού ως DLL, με specific version στο false, αλλά δεν άλλαξε τίποτα. Αφαίρεσα μέχρι και το signing, επίσης χωρίς αποτέλεσμα.
Κάποια ιδέα για το αν αυτό είναι by design, ή κάνω κάτι λάθος; Ευχαριστώ προκαταβολικά!
Μην αφήνετε τα media να σας "ταΐζουν"!