2013-05-08 17 views
8

Domyślny szablon VSPackage w pakiecie Visual Studio 2012 SDK generuje projekt korzystający z silnego nazewnictwa.Czy rozszerzenia Visual Studio (VSIX) muszą być silne o nazwie?

Ponieważ silne nazewnictwo jest przechodnie, oznacza to, że wszelkie odniesienia, które dodaję (np. Inny projekt w tym samym rozwiązaniu lub zależność od strony trzeciej) również muszą być silne.

Ponieważ nie czuję się komfortowo silne nazewnictwa zależności trzecich, wolałbym, aby usunąć silne nazewnictwa z mojego VSIX.

Jakie są tego wady?

+0

Po usunięciu silnego nazewnictwa z mojego VSIX, rozszerzenie nie wdraża się (wyświetla) w Visual Studio. Używam programu Visual Studio 2015. –

Odpowiedz

4

Jeśli już jesteś wdrożony w systemie VSIX i nie potrzebujesz niczego w GAC, to nie, Visual Studio nie wymaga, aby Twoja silna nazwa była podpisana. Uważam, że kreator szablonów wymaga silnego podpisywania nazw, ale tylko dlatego, że muszą być zainstalowane w GAC.

Mogę wymyślić kilka powodów, dla których możesz chcieć: Jeśli Twój pakiet udostępnia publiczny interfejs API, który używają inne rozszerzenia, możesz odwoływać się do wspólnej biblioteki DLL, tak jak inne osoby korzystające z publicznego interfejsu API. Możesz chcieć podpisać silną nazwę pliku binarnego interfejsu publicznego, a w zależności od tego, jak skonfigurowane są twoje projekty, być może będziesz musiał silną nazwę podpisać wszystko.

Ponadto, jeśli nie masz silnego znaku rozpoznawczego, ryzykujesz kolizję nazwy z innym rozszerzeniem. Jeśli utworzyłeś bibliotekę DLL o nazwie "Package.dll" i inne rozszerzenie również to zrobiło, a żadna z twoich silnych nazw nie podpisała twoich plików binarnych, to jest możliwe, że CLR nieco się pomyli. Jeśli więc nie podpisujesz się dobrze, upewnij się, że nazwa twojego zespołu jest "wystarczająco unikalna", aby uniknąć tego ryzyka.

Na co warto, kiedy testujemy usługi językowe Roslyn wewnętrznie, po prostu to zrobić instalując VSIX który zawiera wszystkie bity Roslyn. Szybkie wykopanie historii kontroli kodu źródłowego oznacza, że ​​nie podpisywaliśmy się pod silnym nazwaniem naszych plików binarnych pakietów przez pierwsze półtora roku, aż w końcu musieliśmy w ramach procesu wysyłki kodu z Microsoft.

+1

> Uważam, że kreator szablonów wymaga silnego podpisywania nazw, ale tylko dlatego, że muszą być zainstalowane w GAC. To nieprawda. Muszą być silnie nazwani, ale nie muszą być w GAC. – kzu

Powiązane problemy