-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add .NET Core 3.1 targeting and package generation #40
Conversation
…ry and dual compilation for unit tests
This reverts commit ec1f116.
Should we target both .Net Core and .Net Framework as seems to be the case in this PR ? @wilbaker, @cgallred - What's your take on this ?
|
If we target .NET Core and .NET Framework then customers will not be forced to move to .NET Core (though they may need to move to a later version of .NET Framework). Unless there is a large cost to supporting both I don't see a reason to force people onto .NET Core. @mjcheetham, what are your thoughts? |
Agreed. If it's not too much effort, keeping a .NET Framework target would be helpful for consumers still targeting Framework. |
RE: NetFramework vs. NetCore: My strong opinion is we should target both. As it stands most projects I'm working on will take years to move to NetCore simply because of the effort needed to move dependencies (like this one!) to Core or Standard one by one then update package references and retest end-to-end. Hundreds of packages at differing Framework vs. Core vs. Standard versions mean a lot of pain. Framework support should never go away in this package until Framework itself is removed from Windows (meaning: effectively never). |
@Erikma I assume you changed the build script to require >= VS 16.4 because that has .NET Core 3.1, correct? That is what is breaking the validation checks. The Azure Pipelines pool ("Hosted Windows 2019 with VS2019") has "VisualStudio/16.3.6+29418.71". The build script is failing because it can't find a VS 16.4 or greater. |
@cgallred Correct on the 16 4 requirement, it is a strong requirement. I bet the 2019 image gets the update very soon, as I was able to successfully update to netcore31 in another project in mseng and everything was fine. IIRC they usually test there (ring 0) then roll outward. |
@Erikma okay, we'll re-submit the build/test periodically. Once it passes we'll complete the PR. |
@wilbaker the 2019 Azure image has been updated to VS 16.4 and the tests are now passing. I've approved the PR but I'd appreciate somebody with more .NET experience putting their stamp of approval on it before I merge. :-) |
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.
@cgallred apologies for the delay, I left a few small follow up questions/comments.
@wilbaker RE Any CPU: See comment in resolved conversation, we have to leave it since VS locks up on trying to remove. The packaging target needs AnyCPU, and the test and main assembly targets are all explicitly set to x64 in each proj so the sln targeting doesn't matter anyway |
@Erikma thanks! I am having trouble finding the conversation you mentioned, but the details you included in this comment sound good to me. |
@wilbaker Latest commit downgrades to net461 to match previous |
@wilbaker @jrbriggs @mjcheetham |
These look good to me |
@wilbaker @jrbriggs @mjcheetham FYI this has been uploaded to NuGet.org. Thanks again to @Erikma for doing this work. |
NetCore3.1 in VS 16.4 adds C++/CLI support for .NET Core. Add a second 3.1 targeting to the Framework version:
Issue #38