I'm working on creating a Visual Studio 2017 custom Check-In Policy extension. My current solution is structured as follows:
Note: I am taking advantage of the new NuGet PackageReference approach, which is why there is no packages.config file.
I believe I have setup my VSIX manifest appropriately since everything works perfectly when I don't reference Microsoft.Net.Http
(originally I was hard-coding in values instead of retrieving the values). I'm not sure why the Microsoft.TeamFoundationServer.ExtendedClient
NuGet package being included doesn't cause any issues, whereas the Microsoft.Net.Http
NuGet package does.
I looked at the debug folder to see what is being compiled and I see every assembly necessary being pulled in, however if I unpack the VSIX (I renamed it to *.zip and unzipped it), only the project assembly is included; the Nuget referenced assemblies are not packaged in the VSIX package.
I came across a few resources, but nothing seems to work:
- 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?
Every single one of these questions/answers do not seem to address my specific problem.
Update:
I believe it is possible that the tool used to generate the VSIX package does not support the new PackageReference
feature of NuGet. If I utilize the older packages.config feature, everything works fine. I have put in a UserVoice Ticket to support the new NuGet feature.