MSVC build logic should specify /permissive-
Problem Due to originally being built before the standardization of C++ and sticking to those decisions for a bit too long, MSVC allows for non-standard behaviors. This creates problems by accidentally introducing non-standard code prior to a Pull Request.
Describe the solution you'd like. Set /permissive- in all .vcxproj files. This way all MSVC code is built adhering to standard specified behavior.
We can add this to cpp_client_telemetry/Solutions/build.props , assuming that all .vcxproj are including that properties file. That way we don't have to add this to all .vcxproj files, at least it'd be the best practice to add it to some common properties rather than to all projects individually.
My understanding is this is more of a build improvement, since all non-standard extensions build breaks get caught during other platform / other compiler CI loops.