Pracuję nad utworzeniem niestandardowego rozszerzenia zasad programu Visual Studio 2017. Moje obecne rozwiązanie jest skonstruowany w następujący sposób:Jak dołączyć złożenia z pakietów NuGet do instalatora VSIX?
Uwaga: Biorę wykorzystać nową Nuget PackageReference podejścia, dlatego nie ma pliku packages.config.
Wierzę mam setup mój VSIX oczywistego odpowiednio ponieważ wszystko działa idealnie, kiedy nie odwoływać Microsoft.Net.Http
(pierwotnie byłem ciężko kodowania wartości zamiast pobierania wartości). Nie jestem pewien, dlaczego dołączony pakiet NuGet Microsoft.TeamFoundationServer.ExtendedClient
nie powoduje żadnych problemów, natomiast pakiet NuGet Microsoft.Net.Http
.
Spojrzałem na folder debugowania, aby zobaczyć, co jest kompilowane i widzę, jak każdy niezbędny zestaw jest wciągany, jednak jeśli rozpakuję VSIX (zmieniłem nazwę na * .zip i rozpakowałem go), tylko zespół projektu jest w zestawie; zespoły referencyjne Nuget nie są spakowane w pakiecie VSIX.
natknąłem się kilka zasobów, ale nic nie wydaje się działać:
- VSIX Package doesn't include referenced project's dependencies
- VSIX with Project Templates and NuGet Packages
- How to include a Nuget package in a Visual Studio Extension (vsix)
- VSIX extension - How can I ensure a referenced dll or assembly is included in the VSIX file?
Każdy jeden z tych pytań/odpowiedzi nie wydaje się, aby rozwiązać mój konkretny problem.
Aktualizacja:
uważam, że jest to możliwe, że narzędzie wykorzystywane do generowania pakietu VSIX nie obsługuje nową PackageReference
cechę Nuget. Jeśli korzystam ze starszej funkcji packages.config, wszystko działa poprawnie. Wstawiłem UserVoice Ticket w celu obsługi nowej funkcji NuGet.
mogę przyjść późno, ale ten wątek rozwiązać mój problem: https: // stackoverflow. com/questions/42201923/vsix-extension-how-can-i-ensure-a-reference-dll-or-assembly-is-included-in-th –
@ AmauryLevé: To pytanie mogło rozwiązać twój problem, ale jest całkowicie niezwiązane z problemem, do którego się odwoływałem, co miało związek z pakownikiem VSIX automatycznie zawiera złożenia za pomocą funkcji PackageReference NuGeta. To pytanie/odpowiedź dotyczy dodawania zasobów przez bezpośrednie odwoływanie się do złożeń. –