Jakiś czas temu opracowałem niestandardową politykę odprawy TFS, która była działająca dobrze z Visual Studio 2015. Teraz zainstalowałem Visual Studio 2017 i chciałem zarejestrować zestaw reguł dotyczących odprawy w taki sam sposób, jak wcześniej w VS2015. Ale to nie działa. Jak mogę zarejestrować zestawy niestandardowych reguł odprawy za pomocą VS2017?Niestandardowe zasady kontroli TFS w Visual Studio 2017
Dla VS2015, miałem te klucze rejestru:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\Program Files\\My\\MyCheckInPolicy.dll"
i
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\Program Files\\My\\MyCheckInPolicy.dll"
a zatem ja dodanych te klucze do VS2017 (15.0
):
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\15.0\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\Program Files\\My\\MyCheckInPolicy.dll"
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\15.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\Program Files\\My\\MyCheckInPolicy.dll"
ale niestety to nie działa:
- Gdybym otworzyć ustawienia Zespół Projektowy SourceControl, przejdź do zakładki "Check-in Polityki" i spróbować Dodaj ... polityka,
MyCheckInPolicy
nie pojawia - Gdybym otwórz projekt zespołu, który już używa tej zasady check-in i wykonaj powyższe, otrzymałem komunikat o błędzie informujący, że zespół (
mycheckinpolicy
) "nie został zarejestrowany".
Oczywiście zrestartowałem IDE po zmianie rejestru, ale nawet rebooting moja maszyna nie pomogła.
The information Znalazłem dotychczas wydaje sugeruje, że zasady check-in muszą być częścią rozszerzenia (vsix), w co nie chcę wierzyć.
Domyślam się, że problem pochodzi z niektórych odniesień, których nie można rozwiązać, gdy zespół jest ładowany do IDE.
Projekt odnosi się do Microsoft.TeamFoundation.VersionControl.Client.dll
v14.0 z folderu VS2015 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
.
Próbowałem odwołać się do odpowiednich dll z folderów VS2017, ale wtedy zespół nie działa w obu IDE.
Próbowałem również użyć pakietu Nuget "Microsoft.TeamFoundation.VersionControl.All" v12.0.30723.2 zamiast tego i wdrożyłem wszystkie pliki z katalogu wyjściowego (które wydają się zawierać wszystkie złożenia pakietu) do wspomnianej lokalizacji w kluczach rejestru. Miało to taki sam skutek: zasady nie można załadować ani w VS2015, ani w VS2017.
Używamy TFS 12.0.30723.0.
Więc wydaje VS2017 nawet nie próbować załadować zespół i nie dba o kluczach rejestru?
Dziękuję bardzo! Nadal musiałem zmienić odnośnik dll na wersję VS2017 (nie wiem, dlaczego sposób pakietu nuget nie działa), ale twoje genialne wyjaśnienie działało idealnie! Mam więcej problemów z VS2017, jak edytory niestandardowe dla definicji kompilacji tfs ... ale to są pytania na inny dzień ... Jeszcze raz dziękuję. –
Nie ma problemu, miło mi pomóc. Po prostu musiałem przejść przez to, że wczoraj nie pracowałem, ponieważ nic tam nie ma. –
Próbowałem utworzyć nowy check in policy po twoich krokach (dzięki za to!), Ale nie mogę znaleźć mojej polityki w Visual Studio. Potrzebuję prostej polityki, która sprawdza, czy określone słowo we wszystkich plikach zmian jest w toku, a jeśli to słowo jest obecne, to powinno się nie powieść. Może to już możliwe dzięki standardowym narzędziom? Z góry dziękuję ! – Lumo