microsoft/MixedReality-WebRTC

Upgrade to Visual Studio 2019

djee-ms opened this issue · 5 comments

The WebRTC UWP SDK project currently hard-codes the version of Visual Studio to 2017. For consistency with the MixedReality-WebRTC libraries, it would be best to also compile the core implementation with VS 2019.

This issue is tracked as #175 on the WebRTC UWP SDK project.

Update notes : gn only supports Visual Studio from end of March 2019 (f5fc0600). Luckily this appears to be before the cut point for m75, so upgrading to that milestone should bring support to gn. In the meantime because the C++ library CI needs to regenerate the UWP wrappers from IDLs, gn needs to run, and there is no Azure DevOps agent with both Visual Studio 2017 and 2019. So upgrade is blocked, unless there is a way to compile the native libraries with VS 2017 and the UWP wrappers with VS 2019, but that seems convoluted.

The documentation at https://microsoft.github.io/MixedReality-WebRTC/manual/building.html says "The solution uses Visual Studio 2019 with the following features [...] The MSVC v142 - VS 2019 C++ x64/x86 build tools".

However, it seems like the master branch is using VS2017 and MSVC v141. Should we use the feature/vs2019 for VS2019 development?

No, feature/vs2019 doesn't work yet, please continue to use master. All feature branches are for long-ish work underway, but none of those works are really supported until merged to master.

Unfortunately there are several blockers to get to the v142 toolchain:

  • gn doesn't support it yet; I think it works in m75 but upgrade is still underway. Until then, trying to upgrade will break the core dependency build, and there is a hard-dependency on VS2017 anyway in the build scripts of webrtc-uwp-sdk.
  • The Azure DevOps agents for CI support only either VS2017 or VS2019 but not both, so I cannot upgrade only MixedReality-WebRTC without upgrading the core dependencies.

The fact that the projects are for Visual Studio 2017 is just for simplicity since they're still using the v141 toolchain. It doesn't matter much anyway, you can open them in Visual Studio 2019 provided you have installed the v141 toolchain in the Visual Studio Installer. That is what I always do, and this is the recommended approach until the blockers above are fixed. Sorry for the confusion.

Ok, thanks for the clarification.