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); }