.netmsbuildclrgacmicrosoft.build

Different releases of Microsoft.Build.* assemblies have the same 15.1 version leading to issues


It seems like at some point assemblies Microsoft.Build, Microsoft.Build.Framework, etc. stopped changing their versions after updates, so the versions of actually different Microsoft.Build assemblies became the same (15.1). If an application depends on one of these libs and the same version (but different release) is installed in global assemblies cache (GAC), the app uses the version from GAC rather than expected lib placed near the executable. This leads to issues with missing types, members etc.

Could you please provide any ideas about solving such issues?

The same issue on github

It would be cool if there was an opportunity to change that behaviour, but I couldn't find anything appropriate.


Solution

  • Answers are here.

    It seems like nothing can be done here. For now, GAC can't be bypassed and nobody should add msbuild libraries to it.