Prior to 4.16 it was possible to use Target.WindowsPlatform.GetVisualStudioCompilerVersionName() to determine the version of Visual Studio being used even when building for XboxOne. However, in 4.16 and 4.17 WindowsTargetRules.Compiler is set to WindowsCompiler.Default when building for XboxOne which throws an exception inside of GetVisualStudioCompilerVersionName(). It’s not possible to use the corresponding function in XboxOneTargetRules because it isn’t declared in the partial class (PlatformTargetRules.cs) and UnrealBuildTool will fail to compile when XboxOne platform files aren’t available.
We use this function to determine the path of library dependencies. Because of this problem we have resorted to hard-coding the path. Is there a programmatic solution we’re missing? Should a function prototype for this be added to the ReadOnlyXboxOneTargetRules partial class in PlatformTargetRules.cs?