diff --git a/Microsoft.Dotnet.Wpf.sln b/Microsoft.Dotnet.Wpf.sln index a9bf0453bb5..e05b7d93d65 100644 --- a/Microsoft.Dotnet.Wpf.sln +++ b/Microsoft.Dotnet.Wpf.sln @@ -17,6 +17,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.DotNet.Arcade.Wpf EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral", "packaging\Microsoft.DotNet.Arcade.Wpf.Sdk\Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj", "{B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Wpf.ProjectTemplates.ArchNeutral", "packaging\Microsoft.Dotnet.Wpf.ProjectTemplates\Microsoft.DotNet.Wpf.ProjectTemplates.ArchNeutral.csproj", "{BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -75,6 +77,18 @@ Global {B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3}.Release|x64.Build.0 = Release|x64 {B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3}.Release|x86.ActiveCfg = Release|Any CPU {B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3}.Release|x86.Build.0 = Release|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Debug|x64.ActiveCfg = Debug|x64 + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Debug|x64.Build.0 = Debug|x64 + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Debug|x86.ActiveCfg = Debug|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Debug|x86.Build.0 = Debug|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Release|Any CPU.Build.0 = Release|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Release|x64.ActiveCfg = Release|x64 + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Release|x64.Build.0 = Release|x64 + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Release|x86.ActiveCfg = Release|Any CPU + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -85,6 +99,7 @@ Global {9A7E395B-E859-40E2-809D-EFB72CF3A2EE} = {BF20132A-191F-4D34-9A1B-831772A6DFCF} {8A2ABE39-2D50-48CA-AC32-078BBA32757A} = {0159B0F1-0626-4BED-8D1B-CBFF4F12C369} {B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3} = {8A2ABE39-2D50-48CA-AC32-078BBA32757A} + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0} = {0159B0F1-0626-4BED-8D1B-CBFF4F12C369} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D4D12991-F531-4FC3-849D-29946BCA818A} diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/Microsoft.DotNet.Wpf.ProjectTemplates.ArchNeutral.csproj b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/Microsoft.DotNet.Wpf.ProjectTemplates.ArchNeutral.csproj new file mode 100644 index 00000000000..b560eac5d2d --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/Microsoft.DotNet.Wpf.ProjectTemplates.ArchNeutral.csproj @@ -0,0 +1,29 @@ + + + {BFF6C118-3369-43B5-ACA6-D65ED00EEBE0} + netcoreapp3.0 + AnyCPU;x64 + true + 3.0.0 + + + + + true + + + + $(MSBuildProjectName.Replace('.ArchNeutral','')) + $(PackageName) + Project templates for .NET Core WPF Projects + + + + + + + diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/.template.config/dotnetcli.host.json b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/.template.config/dotnetcli.host.json new file mode 100644 index 00000000000..22ab4a3929f --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/.template.config/dotnetcli.host.json @@ -0,0 +1,24 @@ +{ + "$schema": "http://json.schemastore.org/dotnetcli.host", + "symbolInfo": { + "TargetFrameworkOverride": { + "isHidden": "true", + "longName": "target-framework-override", + "shortName": "" + }, + "Framework": { + "longName": "framework" + }, + "skipRestore": { + "longName": "no-restore", + "shortName": "" + }, + "langVersion": { + "longName": "langVersion", + "shortName": "" + } + }, + "usageExamples": [ + "" + ] +} diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/.template.config/template.json b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/.template.config/template.json new file mode 100644 index 00000000000..0a16e0681e6 --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/.template.config/template.json @@ -0,0 +1,86 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Microsoft", + "classifications": ["Common", "WPF"], + "name": "WPF Application", + "generatorVersions": "[1.0.0.0-*)", + "description": "A project for creating a .NET Core WPF Application", + "groupIdentity": "Microsoft.Common.WPF", + "precedence": "3000", + "identity": "Microsoft.Common.WPF", + "shortName": "wpf", + "tags": { + "language": "C#", + "type": "project" + }, + "sourceName": "Company.WpfApplication1", + "preferNameDirectory": true, + "symbols": { + "TargetFrameworkOverride": { + "type": "parameter", + "description": "Overrides the target framework", + "replaces": "TargetFrameworkOverride", + "datatype": "string", + "defaultValue": "" + }, + "Framework": { + "type": "parameter", + "description": "The target framework for the project.", + "datatype": "choice", + "choices": [ + { + "choice": "netcoreapp3.0", + "description": "Target netcoreapp3.0" + } + ], + "replaces": "netcoreapp3.0", + "defaultValue": "netcoreapp3.0" + }, + "langVersion": { + "type": "parameter", + "datatype": "text", + "description": "Sets langVersion in the created project file", + "defaultValue": "", + "replaces": "$(ProjectLanguageVersion)" + }, + "HostIdentifier": { + "type": "bind", + "binding": "HostIdentifier" + }, + "skipRestore": { + "type": "parameter", + "datatype": "bool", + "description": "If specified, skips the automatic restore of the project on create.", + "defaultValue": "false" + } + }, + "primaryOutputs": [ + { "path": "Company.WpfApplication1.csproj" }, + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "path": "MainWindow.xaml.cs" + } + ], + "defaultName": "WpfApp1", + "postActions": [ + { + "condition": "(!skipRestore)", + "description": "Restore NuGet packages required by this project.", + "manualInstructions": [ + { "text": "Run 'dotnet restore'" } + ], + "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025", + "continueOnError": true + }, + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "description": "Opens MainWindow.xaml.cs in the editor", + "manualInstructions": [ ], + "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6", + "args": { + "files": "1" + }, + "continueOnError": true + } + ] +} diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/App.xaml b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/App.xaml new file mode 100644 index 00000000000..9a9e0f1546e --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/App.xaml.cs b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/App.xaml.cs new file mode 100644 index 00000000000..ef64b7a43cf --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace Company.WpfApplication1 +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/Company.WpfApplication1.csproj b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/Company.WpfApplication1.csproj new file mode 100644 index 00000000000..605a132abdf --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/Company.WpfApplication1.csproj @@ -0,0 +1,12 @@ + + + + WinExe + netcoreapp3.0 + TargetFrameworkOverride + Company.WpfApplication1 + $(ProjectLanguageVersion) + true + + + \ No newline at end of file diff --git a/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/MainWindow.xaml b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/MainWindow.xaml new file mode 100644 index 00000000000..ec11bd07c78 --- /dev/null +++ b/packaging/Microsoft.Dotnet.Wpf.ProjectTemplates/content/WpfApplication-CSharp/MainWindow.xaml @@ -0,0 +1,18 @@ + + + + + + +