Пример #1
0
        private IDictionary <string, string?> ProjectWideSettings(AssemblyInfo assemblyInfo, RepositoryInfo repositoryInfo)
        {
            var isLibrary = assemblyInfo.AssemblyName.EndsWith(".Test");

            var dict = new Dictionary <string, string?>
            {
                // development
                ["TargetFramework"] = isLibrary
                                                     ? "netcoreapp3.0"
                                                     : "netstandard2.0",
                ["LangVersion"] = "latest",
                ["Nullable"]    = "enable",
                // project identity
                ["AssemblyName"]  = assemblyInfo.ToString(),
                ["RootNamespace"] = assemblyInfo.ToString(),
                // nuget
                ["IsPackable"] = isLibrary
                                                ? "false"
                                                : "true",
                ["Title"]              = assemblyInfo.ToString(),
                ["Authors"]            = AssemblyInfo.SpaceEngineers,
                ["Company"]            = AssemblyInfo.SpaceEngineers,
                ["PackageDescription"] = assemblyInfo.ToString(),
                ["RepositoryType"]     = repositoryInfo.RepositoryType.ToLowerInvariant(),
                ["RepositoryUrl"]      = repositoryInfo.ToString(),
                ["Copyright"]          = "Copyright (c) 2019",
                // analysis
                ["RunAnalyzersDuringBuild"]        = "true",
                ["RunAnalyzersDuringLiveAnalysis"] = "true",
                ["RunAnalyzers"] = "true",
                // build
                ["GenerateAssemblyInfo"]         = "false",
                ["GeneratePackageOnBuild"]       = "false",
                ["TreatWarningsAsErrors"]        = "true",
                ["AutoGenerateBindingRedirects"] = "true",
                ["GenerateDocumentationFile"]    = isLibrary
                                                               ? "false"
                                                               : "true",
                // run-time
                ["TieredCompilation"] = "true",
            };

            if (isLibrary)
            {
                dict.Add("Library", null);
            }

            return(dict);
        }