public static Project CreateDefaultConsole(string targetFramework) { var project = Project.CreateVS2017Project(); var propertyGroup = new PropertyGroup(); propertyGroup.SetMetadata("OutputType", "Exe"); propertyGroup.SetMetadata("TargetFramework", targetFramework); project.Add(propertyGroup); var itemGroup = new ItemGroup(); var appSettings = new None() { Update = "appsettings.json" }; appSettings.SetMetadata("CopyToOutputDirectory", "PreserveNewest"); itemGroup.Add(appSettings); project.Add(itemGroup); return(project); }
public static Project CreateDefaultConsole(Guid projectGuid, string rootNameSpace, string assemblyName, string targetFrameworkVersion) { var project = Project.CreatePreVS2017Project(); var import = new Import(@"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props") { Condition = @"Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" }; project.Add(import); var propertyGroup = new PropertyGroup(); propertyGroup.SetMetadata("Configuration", "Debug", " '$(Configuration)' == '' "); propertyGroup.SetMetadata("Platform", "AnyCPU", " '$(Platform)' == '' "); propertyGroup.SetMetadata("ProjectGuid", $"{{{projectGuid.ToString().ToUpper()}}}"); propertyGroup.SetMetadata("OutputType", "Exe"); propertyGroup.SetMetadata("RootNamespace", rootNameSpace); propertyGroup.SetMetadata("AssemblyName", assemblyName); propertyGroup.SetMetadata("TargetFrameworkVersion", targetFrameworkVersion); propertyGroup.SetMetadata("FileAlignment", "512"); propertyGroup.SetMetadata("AutoGenerateBindingRedirects", "true"); propertyGroup.SetMetadata("Deterministic", "true"); project.Add(propertyGroup); var debugPropertyGroup = new PropertyGroup { Condition = " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " }; debugPropertyGroup.SetMetadata("PlatformTarget", "AnyCPU"); debugPropertyGroup.SetMetadata("DebugSymbols", "true"); debugPropertyGroup.SetMetadata("DebugType", "true"); debugPropertyGroup.SetMetadata("DebugSymbols", "full"); debugPropertyGroup.SetMetadata("Optimize", "false"); debugPropertyGroup.SetMetadata("OutputPath", @"bin\Debug\"); debugPropertyGroup.SetMetadata("DefineConstants", "DEBUG;TRACE"); debugPropertyGroup.SetMetadata("ErrorReport", "prompt"); debugPropertyGroup.SetMetadata("WarningLevel", "4"); project.Add(debugPropertyGroup); var releasePropertyGroup = new PropertyGroup { Condition = " '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " }; releasePropertyGroup.SetMetadata("PlatformTarget", "AnyCPU"); releasePropertyGroup.SetMetadata("DebugType", "pdbonly"); releasePropertyGroup.SetMetadata("Optimize", "true"); releasePropertyGroup.SetMetadata("OutputPath", @"bin\Release\"); releasePropertyGroup.SetMetadata("DefineConstants", "TRACE"); releasePropertyGroup.SetMetadata("ErrorReport", "prompt"); releasePropertyGroup.SetMetadata("WarningLevel", "4"); project.Add(releasePropertyGroup); var referenceItemGroup = new ItemGroup(); referenceItemGroup.Add(new Reference("System")); referenceItemGroup.Add(new Reference("System.Core")); referenceItemGroup.Add(new Reference("System.Xml.Linq")); referenceItemGroup.Add(new Reference("System.Data.DataSetExtensions")); referenceItemGroup.Add(new Reference("Microsoft.CSharp")); referenceItemGroup.Add(new Reference("System.Data")); referenceItemGroup.Add(new Reference("System.Net.Http")); referenceItemGroup.Add(new Reference("System.Xml")); project.Add(referenceItemGroup); var targetsImport = new Import(@"$(MSBuildToolsPath)\Microsoft.CSharp.targets"); project.Add(targetsImport); return(project); }