// Copyright (c) Ubisoft. All Rights Reserved. // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license information. namespace Sharpmake.Generators.VisualStudio { public partial class CSproj { public static class Template { public static class Project { public static string ProjectBegin = @" "; public static string ProjectBeginVs2017 = @" "; public static string ProjectBeginNetCore = @" "; public static string ProjectEnd = @""; public static string ProjectDescription = @" [options.DefaultConfiguration] [defaultPlatform] [defaultPlatform] {[guid]} [outputType] Properties [project.RootNamespace] [assemblyName] [options.SignAssembly] [options.AssemblyOriginatorKeyFile] <[targetFrameworkVersionString]>[targetFramework] [options.FileAlignment] [options.IsWebBootstrapper] [projectTypeGuids] [options.IsPublishable] [options.PublishUrl] [options.PublishSingleFile] [options.PublishTrimmed] [options.InstallUrl] [options.ManifestKeyFile] [options.ManifestCertificateThumbprint] [GenerateDocumentationFile] [options.GenerateManifests] [options.SignManifests] [options.UseVSHostingProcess] [options.ProductName] [options.PublisherName] [options.MinimumRequiredVersion] [options.WebPage] [options.OpenBrowserOnPublish] [options.CreateWebPageOnPublish] [options.BootstrapperComponentsUrl] [options.Install] [options.InstallFrom] [options.UpdateEnabled] [options.UpdateMode] [options.UpdateInterval] [options.UpdateIntervalUnits] [options.UpdatePeriodically] [options.UpdateRequired] [options.CopyOutputSymbolsToOutputDirectory] [options.MapFileExtensions] [options.ApplicationRevision] [options.ApplicationVersion] [options.UseApplicationTrust] [options.CreateDesktopShortcut] [options.PublishWizardCompleted] [options.BootstrapperEnabled] [options.MinimumVisualStudioVersion] [options.OldToolsVersion] [options.UseCodeBase] [options.VisualStudioVersion] [options.VsToolsPath] [options.ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch] [options.RegisterOutputPackage] [options.RegisterWithCodebase] [options.GeneratePkgDefFile] [options.IncludeAssemblyInVSIXContainer] [options.CreateVsixContainer] [options.CreateVsixContainer] [options.VsixType] [options.ConcordSDKDir] [options.AutoGenerateBindingRedirects] [options.SonarQubeExclude] [netCoreEnableDefaultItems] [defaultItemExcludes] [GeneratedAssemblyConfigTemplate.GenerateAssemblyInfo] [GeneratedAssemblyConfigTemplate.GenerateAssemblyConfigurationAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyDescriptionAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyProductAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyTitleAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyCompanyAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyFileVersionAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyVersionAttribute] [GeneratedAssemblyConfigTemplate.GenerateAssemblyInformationalVersionAttribute] [NugetRestoreProjectStyleString] [options.ProductVersion] [options.FileVersion] [options.Version] [options.Product] [options.Copyright] [options.UseWpf] [options.UseWindowsForms] [options.Nullable] [options.PublishAot] "; public const string DefaultProjectConfigurationCondition = "'$(Configuration)|$(Platform)'=='[conf.Name]|[platformName]'"; public const string MultiFrameworkProjectConfigurationCondition = "'$(Configuration)|$(Platform)|$(TargetFramework)'=='[conf.Name]|[platformName]|[targetFramework]'"; public static string ProjectConfigurationsGeneral = @" [platformName] [options.DebugSymbols] [options.DebugType] [options.Optimize] [options.BaseAddress] [options.OutputDirectory] [options.IntermediateDirectory] [options.BaseIntermediateOutputPath] [options.DocumentationFile] [options.PreprocessorDefinitions] [options.ErrorReport] [options.WarningLevel] [options.AllowUnsafeBlocks] [options.TreatWarningsAsErrors] [options.WarningsNotAsErrors] [options.WarningsAsErrors] [options.CreateVsixContainer] [options.DeployExtension] [options.Prefer32Bit] [options.DisableFastUpToDateCheck] [options.NoWarn] [options.StartWorkingDirectory] [conf.CodeAnalysisRuleSetFilePath] [options.LanguageVersion] [options.CopyVsixExtensionFiles] [options.CopyVsixExtensionLocation] [options.ProduceReferenceAssembly] "; public static string ImportProjectItemSimple = @" "; public static string ImportProjectItem = @" "; public static string ImportProjectSdkItem = @" "; public static string VsixConfiguration = @" $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) true "; public static string ProjectConfigurationsPreBuildEvent = @" [options.PreBuildEvent] [options.PreBuildEventDescription] "; public static string ProjectConfigurationsPostBuildEvent = @" [options.PostBuildEvent] [options.PostBuildEventDescription] "; public static string ProjectConfigurationsPreBuildEventConditional = @" [options.PreBuildEvent] [options.PreBuildEventDescription] "; public static string ProjectConfigurationsPostBuildEventConditional = @" [options.PostBuildEvent] [options.PostBuildEventDescription] "; public static string ProjectConfigurationsRunPostBuildEvent = @" [RunPostBuildEvent] "; public static string ProjectAspNetMvcDescription = @" [MvcBuildViews] [UseIISExpress] [IISExpressSSLPort] [IISExpressAnonymousAuthentication] [IISExpressWindowsAuthentication] [IISExpressUseClassicPipelineMode] [UseGlobalApplicationHostFile] "; } // END of public static class Project public static string ApplicationIcon = @" [iconpath] "; public static string ApplicationManifest = @" [applicationmanifest] "; public static string StartupObject = @" [startupobject] "; public static string NoWin32Manifest = @" true "; public static string MSBuild14PropertyGroup = @" $(MSBuildProgramFiles32) $(ProgramFiles%28x86%29) $(ProgramFiles) (x86) $(ProgramFiles) $(ProgramFiles32)\MSBuild\14.0\Bin "; public static string WebReferenceUrlBegin = @" "; public static string WebReferenceUrlEnd = @" "; public static string COMReference = @" {[guid]} [versionMajor] [versionMinor] [lcid] [wrapperTool] False [private] [EmbedInteropTypes] "; public static string UrlBehavior = @" [urlBehavior] "; public static string RelPath = @" [relPath] "; public static string UpdateFromURL = @" [updateFromURL] "; public static string CachedDynamicPropName = @" [cachedDynamicPropName]"; public static string CachedAppSettingsObjectName = @" [cachedAppSettingsObjectName] "; public static string CachedSettingsPropName = @" [cachedSettingsPropName] "; public static string PropertyGroupWithConditionStart = @" "; public static class ItemGroups { public static string NoneItemGroupBegin = @" "; public static string NoneItemGroupEnd = @" "; public static string SimpleNone = @" "; public static string Link = @" [link] "; public static string LastGenOutput = @" [lastGenOutput] "; public static string Generator = @" [generator] "; public static string MergeWithCto = @" [mergeWithCto] "; public static string DependentUpon = @" [dependentUpon] "; public static string SpecificVersion = @" [specificVersion] "; public static string HintPath = @" [hintPath] "; public static string SimpleReference = @" "; public static string ReferenceBegin = @" "; public static string ReferenceEnd = @" "; public static string ChooseBegin = @" "; public static string ChooseEnd = @" "; public static string ChooseConditionBegin = @" "; public static string ChooseConditionEnd = @" "; public static string ItemGroupBegin = @" "; public static string ItemGroupConditionalBegin = @" "; public static string ItemGroupTargetFrameworkCondition = "'$(TargetFramework)'=='[targetFramework]'"; public static string ItemGroupEnd = @" "; public static string SplashScreen = @" "; public static string SimpleWebReference = @" "; public static string Folder = @" "; public static string SimpleResource = @" "; public static string ResourceBegin = @" "; public static string ResourceEnd = @" "; public static string WCFMetadata = @" "; public static string WCFMetadataStorage = @" "; public static string VSIXSourceItem = @" "; public static string PageBegin = @" "; public static string PageEnd = @" "; public static string ApplicationDefinitionBegin = @" "; public static string ApplicationDefinitionEnd = @" "; public static string SubType = @" [subType] "; public static string SimpleEmbeddedResource = @" "; public static string EmbeddedResourceBegin = @" "; public static string EmbeddedResourceEnd = @" "; public static string BootstrapperPackage = @" [visible] [productName] [install] "; public static string FileAssociationItem = @" [visible] [description] [progid] [defaultIcon] "; public static string PublishFile = @" [visible] [group] [publishState] [includeHash] [fileType] "; public static string ProjectReferenceBegin = @" "; public static string ProjectGUID = @" [projectGUID] "; public static string ProjectRefName = @" [projectRefName] "; public static string Private = @" [private] "; public static string EmbedInteropTypes = @" [embedInteropTypes] "; public static string ReferenceOutputAssembly = @" [ReferenceOutputAssembly] "; public static string IncludeOutputGroupsInVSIX = @" [IncludeOutputGroupsInVSIX] "; public static string ProjectReferenceEnd = @" "; public static string SimpleCompile = @" "; public static string CompileBegin = @" "; public static string SimpleCompileWithExclude = @" "; public static string CompileBeginWithExclude = @" "; public static string CompileEnd = @" "; public static string AutoGen = @" [autoGen] "; public static string DesignTime = @" [designTime] "; public static string DesignTimeSharedInput = @" [designTimeSharedInput] "; public static string Service = @" "; public static string VsctCompileBegin = @" "; public static string VsdConfigXmlSimple = @" "; public static string ResourceName = @" [resourceName] "; public static string VsctCompileEnd = @" "; public static string ContentSimple = @" "; public static string ContentBegin = @" "; public static string CopyToOutputDirectory = @" [copyToOutputDirectory] "; public static string Analyzer = @" "; public static string IncludeInVsix = @" [includeInVsix] "; public static string ContentEnd = @" "; public static string EntityDeployBegin = @" "; public static string EntityDeployEnd = @" "; public static string FrameworkReference = @" "; public static string Protobuf = @" "; } public static class UsingTaskElement { public static string UsingTask = @" "; } public static class TargetElement { public static string CustomTargetNoParameters = @" [targetElement.CustomTasks] "; public static string CustomTarget = @" [targetElement.CustomTasks] "; } public static string ProjectExtensionsWcf = @" [AutoStart] "; public static string ProjectExtensionsVsto = @" [OfficeApplication] False true False true False True True "; public static string ProjectExtensionsAspNetMvc5 = @" [UseIIS] [AutoAssignPort] [DevelopmentServerPort] [DevelopmentServerVPath] [IISUrl] [NTLMAuthentication] [UseCustomServer] [SaveServerSettingsInUserFile] "; public static class UserFile { public static readonly string StartWithProject = @" Project [conf.CsprojUserFile.StartArguments] [conf.CsprojUserFile.WorkingDirectory]"; public static readonly string StartWithProgram = @" Program [conf.CsprojUserFile.StartProgram] [conf.CsprojUserFile.StartArguments] [conf.CsprojUserFile.WorkingDirectory]"; public static readonly string StartWithUrl = @" URL [conf.CsprojUserFile.StartURL] [conf.CsprojUserFile.StartArguments] [conf.CsprojUserFile.WorkingDirectory]"; public static readonly string DebugUnmanaged = @" [unmanagedDebugEnabled]"; } } } }