Utrzymywanie synchronizacji projektów w wielu wersjach .NET
Muszę stworzyć kilka podstawowych bibliotek w mojej aplikacji, które będą dostępne zarówno w .NET 3.5, jak i .NET 4.0. Cieszę się, tworząc wiele projektów, tworząc wymagane definicje i używając#ifdef
aby kontrolować, który kod tworzy ten zestaw wyjściowy.
Chciałbym jednak wiedzieć, czy istnieje sposób na zsynchronizowanie tych projektów? Kiedy pracuję pod XNA, mam kompilację Windows i kompilację Windows Phone - a XNA wstrzykuje właściwość do pliku projektu o nazwieXnaCrossPlatformGroupID
. Dzięki temu program Visual Studio może automatycznie zagwarantować, że po dodaniu pliku do projektu zostanie on dodany do odpowiedniego projektu. Na przykład, jeśli dodam plik o nazwieFoo.cs
do kopii mojego projektu Windows, a następnie ten sam plik jest dodawany do kopii projektu Windows Phone.
Czy jest jakiś sposób replikacji tego rodzaju zachowania dla normalnego zestawu projektów w Visual Studio? Wolałbym nie używać konfiguracji kompilacji, ponieważ chciałbym móc skompilować wszystkie platformy docelowe w jednym kroku, bez uciekania się do narzędzi spoza IDE (na przykład TeamCity). A może jest inna metoda, która pozwala na zbudowanie projektu przeciwko wielu celom bez wklejania rozwiązania z 20 różnymi konfiguracjami budowania?