-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Package System.ValueTuple, v4.0.3.0 with VSIX #2068
Conversation
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| <IncludeInVSIX>true</IncludeInVSIX> | ||
| </Content> | ||
| <Content Include="System.ValueTuple.dll"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, this approach of adding the assembly to the repo seems a little odd. Why not just add the nuget package with the proper version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find the rules for when a file is actually included in the .vsix to be super confusing.
It seems like all of the following are required:
- Appear as Asset in .vsixmanifest
- Appear as Content in .csproj
- IncludeInVSIX=true
- CopyToOutputDirectory
I hoped I'd be able to simply add Assets to .vsixmanifest that point to files in the output directory. Alas this doesn't seems to work (the extra ceremony is required). 😕
I've updated the project to using a Link rather than including the binary. This is maybe a little better, but still not great. Let me know if you find a cleaner way!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, ok. I thought adding the NuGet package would automatically include the assembly from it in the VSIX.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's what I hoped as well, bit it looks like there are differences between a plain old assembly reference and a <PackageReference>. I ended up with missing assemblies when I converted TestDriven.Net to use <PackageReference> as well. 😢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I thought this was fixed: NuGet/Home#5899 You might want to report a bug if you still encounter this in recent versions.
Codecov Report
@@ Coverage Diff @@
## release/2.5.10 #2068 +/- ##
=================================================
Coverage ? 39.31%
=================================================
Files ? 410
Lines ? 17585
Branches ? 2435
=================================================
Hits ? 6913
Misses ? 10120
Partials ? 552 |
System.ValueTuple isn't included with Visual Studio 2015 so we must include it in the .vsix. Link it from NuGet folder rather than include binary in project.
22eb520 to
858470c
Compare
This is an attempted fix for #2065 and #2062.
System.ValueTupleisn't included with Visual Studio 2015 so we must include it in the VSIX. Visual Studio 2017 includes assembly version4.0.1.0, butReactiveUIreferences assembly version4.0.3.0. We therefor need to package this assembly.What this PR does
System.ValueTuple, v2.5.0NuGet (assembly version4.0.3.0)How to test
I think the trick will be installing a version of Windows that doesn't have .NET 4.7 installed (Windows 10 will automatically install this).
Windows version compatibility
The earliest version of Windows that Visual Studio 2017 supports is:
https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2017-system-requirements-vs
Windows 7 Home Premium can be found here:
It should work fine with the x86 version and this might be lighter weight for running in a VM.
The earliest version of Windows that Visual Studio 2015 works with is Windows XP, see:
Testing with Windows XP is maybe overkill? 😉 I guess we should decide what the lowest Windows version we want to support is?
Visual Studio 2015
Visual Studio 2017
User feedback
Was using Windows LTSB.
We think this is an unrelated issue.
No response from user on Halp.
Related
Fixes #2065
Fixes #2062