protected SharpmakeBaseProject(
                bool excludeSharpmakeFiles = true,
                bool generateXmlDoc        = true
                )
            {
                AddTargets(GetDefaultTargets());

                GenerateDocumentationFile = generateXmlDoc;

                RootPath = Globals.AbsoluteRootPath;

                // Use the new csproj style
                ProjectSchema = CSharpProjectSchema.NetCore;

                // we need to disable determinism while because we are using wildcards in assembly versions
                // error CS8357: The specified version string contains wildcards, which are not compatible with determinism
                CustomProperties.Add("Deterministic", "true");

                // Enable Globalization Invariant Mode
                // https://github.com/dotnet/runtime/blob/master/docs/design/features/globalization-invariant-mode.md
                CustomProperties.Add("InvariantGlobalization", "true");

                if (excludeSharpmakeFiles)
                {
                    NoneExtensions.Add(".sharpmake.cs");
                }
            }
            protected SharpmakeBaseProject(
                bool excludeSharpmakeFiles = true,
                bool generateXmlDoc        = true
                )
            {
                AddTargets(GetDefaultTargets());

                GenerateDocumentationFile = generateXmlDoc;

                RootPath = Globals.AbsoluteRootPath;

                // Use the new csproj style
                ProjectSchema = CSharpProjectSchema.NetCore;

                CustomProperties.Add("Deterministic", "true");

                // PathUtil.cs uses some unsafe blocks
                CustomProperties.Add("AllowUnsafeBlocks", "true");

                // Adding doc warning suppression here to apply to all configs so it will
                // take effect when publishing for other platforms not specified in the default configurations
                // W1: CS1570: XML comment on 'construct' has badly formed XML - 'reason
                // W4: CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member'
                CustomProperties.Add("NoWarn", "1570,1591");

                // Enable Globalization Invariant Mode
                // https://github.com/dotnet/runtime/blob/master/docs/design/features/globalization-invariant-mode.md
                CustomProperties.Add("InvariantGlobalization", "true");

                if (excludeSharpmakeFiles)
                {
                    NoneExtensions.Add(".sharpmake.cs");
                }
            }