Closed SSE4 closed 4 years ago
seems like build fails because assemblies like Microsoft.VisualStudio.VCProject, Version=14.0.0.0
aren't found on appveyor... maybe need to try to build on VS2017 appveyor image
Look at this wonderful image, Version: 14.0.25431 😍😍😍
Please, rebase on top of dev
and now the Appveyor wars will start again ^^
closes #98 closes #66 closes #75
extension doesn't work in Visual Studio 2015 - it's because interface
Microsoft.VisualStudio.VCProject
has changed between versions14.0
and15.0
and it's no longer compatible. unfortunately, it's impossible to reference both versions of the same interface within single assembly. it's also impossible to solve it somehow in runtime, as at compile time expression likeproject as VCProject
compiles differently depends onVCProject
interface version (or more precisely, its guid). the solution is pretty straightforward:Microsoft.VisualStudio.VCProject
andMicrosoft.VisualStudio.VCProjectEngine
into small wrapper classes. for now, just 3 classes are needed:VCConfiguration
,VCProject
andVCPropertySheet
. (other classes might be easily added on demand using the same approach)Core
project, so classes are never referenced directly, and we can use late binding for them, so they are loosely coupled.VCProjectWrapper14
andVCProjectWrapper15
. both assemblies use the same sources (3 wrapper classes mentioned above), but reference to different versions ofMicrosoft.VisualStudio.VCProject
VCProjectWrapper
(from theEnvDTE.Project.object
) and use it going forward.Microsoft.VisualStudio.VCProject
(andVCProjectEngine
) from the main assembly.Microsoft.VisualStudio.VCProject
(andVCProjectEngine
) version 14.0 from NuGet, as we're building on VS2019 image which doesn't have older assemblies installed.