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

Check if solution can be built against VS SDKs more recent than 2013 #1

Open
BrainCrumbz opened this issue Feb 8, 2016 · 3 comments

Comments

@BrainCrumbz
Copy link
Collaborator

... e.g. like currently available VS 2015 SDK.

@patroza
Copy link

patroza commented Feb 10, 2016

@BrainCrumbz would be nice if the new SDK's are backwards compatible, that way you could support new VS/features, but still have the extension work with previous versions?

@BrainCrumbz
Copy link
Collaborator Author

Yep. Actually at the moment is more like SDK being forward compatible, but the concept still holds.

E.g. currently this adapter is written and built against VS2013 SDK. There are some new features that 2013 SDK introduces w.r.t to 2012, but as we choose 2013 as a base reference, we just take them for granted and take advantage of them, ignoring the 2012 scenario and basically being not compatible with it.

If VS2015 SDK introduces some new features and adapter wants to use that, and still be compatible with VS2013, what we do is:

  • keep on building against 2013 SDK, to remain compatible;
  • then at runtime check (by reflection) if the new feature is present in the SDK linked at runtime in user environment, and in case use it

This is to keep working in 1 solution (or project, it depends), with the same code, and still being able to target more than one VS version. The alternative would be to have separate projects/solutions, built against different SDK versions, and hence separate code bases (or at least partially different), and this of course would complicate things, possibly more than the reflection-based approach.

@BrainCrumbz
Copy link
Collaborator Author

BTW, just to be fair, this issue is not about using the adapter, but about opening its source code and fiddling with it.

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

No branches or pull requests

2 participants