Skip to content
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 Standard 2.0 target #742

Closed
vhatsura opened this issue Jan 15, 2019 · 2 comments
Closed

Add .Net Standard 2.0 target #742

vhatsura opened this issue Jan 15, 2019 · 2 comments

Comments

@vhatsura
Copy link

According to Open-source library guidance it would be good to target .Net Standard 2.0 to benefit from having a smaller package graph.

I would appreciate to help with it.

@OskarKlintrot
Copy link

#630

@stakx
Copy link
Contributor

stakx commented Feb 5, 2019

@vhatsura - First of all, many apologies for the delayed response. I haven't quite been able to keep up with my open-source duties due to my daytime work. :)

The first thing that will have to happen in the Moq codebase will be a cleanup of the conditional compilation symbols (DESKTOP, NETCORE, FEATURE_CAS, FEATURE_CODEDOM, FEATURE_COM, FEATURE_SERIALIZATION, etc.). The code portions that they guard need to be freshly mapped to the various new targets.

For example, the DESKTOP symbol more or less designates the .NET Framework 4.x target, while NETCORE is used more or less for the .NET Standard 1.x target. The names of those symbols are mostly historic and plainly don't fit very well today. And they will fit even less when you consider that on .NET Standard 2.x, code would run just fine that is currently guarded by DESKTOP.

So what needs to happen here (IMO) is that DESKTOP and NETCORE should be replaced with something more akin to "feature flag" symbols like FEATURE_SERIALIZATION. Then for each supported target we need to determine whether that feature is available.

You're welcome to help with this refactoring! If you'd like to help, please briefly let me know so we can make a definite plan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants