Aktualizacja numeru wersji wszystkich zestawów w rozwiązaniu

Mam dość duże rozwiązanie w Visual Studio. Czy istnieje sposób na aktualizację Głównych / drugorzędnych numerów wersji dla wszystkich zestawów w rozwiązaniu za jednym zamachem?

Author: starblue, 2009-04-17

6 answers

Możesz udostępnić AssemblyInfo.plik cs pomiędzy wszystkimi projektami w rozwiązaniu. Ten udostępniony plik powinien zawierać numery wersji. Aby go udostępnić, musisz użyć Dodaj istniejący plik w VS i wybrać Dodaj jako łącze w oknie dialogowym Plik. Każdy projekt ma swoje prywatne i wspólne AssemblyInfo.cs. Prywatny nadal zawiera atrybuty inne niż wersja.

Mam konfigurację TeamCity, gdzie generuję udostępniony plik w każdej kompilacji TeamCity, używając rzeczywistej wersji kompilacji i działa pięknie.

 42
Author: grover,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-17 09:03:49

Mamy jedno Zgromadzenie.cs, który ma numery wersji i jest zawarty w każdym projekcie przez odniesienie. Pozostałe zespołypliki cs pozostają, ale zawierają tylko informacje specyficzne dla zestawu (tytuł i opis). Mamy więc tylko jeden plik do aktualizacji dla każdego projektu C#.

 10
Author: marijne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-17 09:05:36

Możesz również mieć publiczny łańcuch const w jednej ze swoich klas, który reprezentuje numer kompilacji i używać go we wszystkich Twoich AssemblyInfo.cs dla różnych projektów. Oczywiście musiałoby to być w projekcie, do którego odnoszą się wszystkie inne projekty, aby działać.

Jest to dobra opcja, jeśli nie podoba Ci się pomysł odwołania się do tego samego AssemblyInfo.cs we wszystkich twoich projektach.

Edit: Uwaga! Działa to również, gdy używasz wielu języków (F # I C# w moim case).

 7
Author: driis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-24 09:23:07

Szukać / Zastąpić?

Numery wersji są jednak przechowywane w plikach tekstowych (AssemblyInfo.cs w folderze właściwości dla każdego projektu).

 4
Author: Lasse Vågsæther Karlsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-17 09:01:31

Jest bardzo przydatne narzędzie, którego używałem jakiś czas temu w projekcie, który wymagał wysoce zarządzanej wersji:

Http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-17 09:32:37

Możesz również utworzyć jakiś zespół "core" i dodać do każdego swojego zespołu odniesienie do" core " assembly. zespół "rdzeń" będzie określał stałą. W tym przypadku w każdym Pliku informacji o złożeniu zostanie ustawiona wersja składowa ze stałej "core". Na przykład:

"core" assembly has file Ver.cs ze stałą: public const string Value = "0.0.0.99";

W każdym rozwiązaniu informacja o złożeniu będzie: [assembly: AssemblyFileVersion(Ver.Wartość)]

 0
Author: Toras,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-16 15:35:31