| @@ -0,0 +1,25 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.5.33530.505 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp", "ConsoleApp\ConsoleApp.csproj", "{70AE449F-14AD-4CB2-B0D2-575C35D03B0E}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Release|Any CPU = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {70AE449F-14AD-4CB2-B0D2-575C35D03B0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {70AE449F-14AD-4CB2-B0D2-575C35D03B0E}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {70AE449F-14AD-4CB2-B0D2-575C35D03B0E}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {70AE449F-14AD-4CB2-B0D2-575C35D03B0E}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {3ED61CAD-690F-476E-8497-AFA4F4B9027C} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,8 @@ | |||
| <Project Sdk="Microsoft.NET.Sdk"> | |||
| <PropertyGroup> | |||
| <OutputType>Exe</OutputType> | |||
| <TargetFramework>net5.0</TargetFramework> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -0,0 +1,16 @@ | |||
| | |||
| using System; | |||
| namespace ConsoleApp | |||
| { | |||
| internal class Program | |||
| { | |||
| static void Main(string[] args) | |||
| { | |||
| Console.WriteLine("Hello World!"); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,36 @@ | |||
| using System.Reflection; | |||
| using System.Runtime.CompilerServices; | |||
| using System.Runtime.InteropServices; | |||
| // General Information about an assembly is controlled through the following | |||
| // set of attributes. Change these attribute values to modify the information | |||
| // associated with an assembly. | |||
| [assembly: AssemblyTitle("$projectname$")] | |||
| [assembly: AssemblyDescription("")] | |||
| [assembly: AssemblyConfiguration("")] | |||
| [assembly: AssemblyCompany("$registeredorganization$")] | |||
| [assembly: AssemblyProduct("$projectname$")] | |||
| [assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] | |||
| [assembly: AssemblyTrademark("")] | |||
| [assembly: AssemblyCulture("")] | |||
| // Setting ComVisible to false makes the types in this assembly not visible | |||
| // to COM components. If you need to access a type in this assembly from | |||
| // COM, set the ComVisible attribute to true on that type. | |||
| [assembly: ComVisible(false)] | |||
| // The following GUID is for the ID of the typelib if this project is exposed to COM | |||
| [assembly: Guid("$guid1$")] | |||
| // Version information for an assembly consists of the following four values: | |||
| // | |||
| // Major Version | |||
| // Minor Version | |||
| // Build Number | |||
| // Revision | |||
| // | |||
| // You can specify all the values or you can default the Build and Revision Numbers | |||
| // by using the '*' as shown below: | |||
| // [assembly: AssemblyVersion("1.0.*")] | |||
| [assembly: AssemblyVersion("1.0.0.0")] | |||
| [assembly: AssemblyFileVersion("1.0.0.0")] | |||
| @@ -0,0 +1,12 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| $ | |||
| if$ ($targetframeworkversion$ >= 3.5)using System.Linq; | |||
| $endif$using System.Text; | |||
| namespace $safeprojectname$ | |||
| { | |||
| public class Class1 | |||
| { | |||
| } | |||
| } | |||
| @@ -0,0 +1,78 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
| <PropertyGroup> | |||
| <MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion> | |||
| <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> | |||
| <TargetFrameworkProfile /> | |||
| </PropertyGroup> | |||
| <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> | |||
| <PropertyGroup> | |||
| <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||
| <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |||
| <ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||
| <ProjectGuid>{04887C90-4C4E-4847-B97F-BF582FEFF02C}</ProjectGuid> | |||
| <OutputType>Library</OutputType> | |||
| <AppDesignerFolder>Properties</AppDesignerFolder> | |||
| <RootNamespace>MyProjectTemplate</RootNamespace> | |||
| <AssemblyName>MyProjectTemplate</AssemblyName> | |||
| <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> | |||
| <FileAlignment>512</FileAlignment> | |||
| <GeneratePkgDefFile>false</GeneratePkgDefFile> | |||
| <IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer> | |||
| <IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer> | |||
| <IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment> | |||
| <CreateVsixContainer>false</CreateVsixContainer> | |||
| <DeployExtension>false</DeployExtension> | |||
| <DeployVSTemplates>false</DeployVSTemplates> | |||
| <CopyVsixManifestToOutput>false</CopyVsixManifestToOutput> | |||
| <CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory> | |||
| <CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | |||
| <DebugSymbols>true</DebugSymbols> | |||
| <DebugType>full</DebugType> | |||
| <Optimize>false</Optimize> | |||
| <OutputPath>bin\Debug\</OutputPath> | |||
| <DefineConstants>DEBUG;TRACE</DefineConstants> | |||
| <ErrorReport>prompt</ErrorReport> | |||
| <WarningLevel>4</WarningLevel> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | |||
| <DebugType>pdbonly</DebugType> | |||
| <Optimize>true</Optimize> | |||
| <OutputPath>bin\Release\</OutputPath> | |||
| <DefineConstants>TRACE</DefineConstants> | |||
| <ErrorReport>prompt</ErrorReport> | |||
| <WarningLevel>4</WarningLevel> | |||
| </PropertyGroup> | |||
| <ItemGroup> | |||
| <Reference Include="Microsoft.VisualStudio.CoreUtility"> | |||
| <Private>False</Private> | |||
| </Reference> | |||
| <Reference Include="System" /> | |||
| <Reference Include="System.Core" /> | |||
| <Reference Include="System.Data" /> | |||
| <Reference Include="System.Xml" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <Compile Include="Properties\AssemblyInfo.cs" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <None Include="AssemblyInfo.cs" /> | |||
| <None Include="Class1.cs" /> | |||
| <None Include="ProjectTemplate.csproj" /> | |||
| <None Include="MyProjectTemplate.ico" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <VSTemplate Include="MyProjectTemplate.vstemplate" /> | |||
| </ItemGroup> | |||
| <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||
| <Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" /> | |||
| <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | |||
| Other similar extension points exist, see Microsoft.Common.targets. | |||
| <Target Name="BeforeBuild"> | |||
| </Target> | |||
| <Target Name="AfterBuild"> | |||
| </Target> | |||
| --> | |||
| </Project> | |||
| @@ -0,0 +1,26 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <VSTemplate Version="3.0.0" Type="Project" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010"> | |||
| <TemplateData> | |||
| <Name>MyProjectTemplate</Name> | |||
| <Description>MyProjectTemplate</Description> | |||
| <Icon>MyProjectTemplate.ico</Icon> | |||
| <ProjectType>CSharp</ProjectType> | |||
| <LanguageTag>csharp</LanguageTag> | |||
| <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion> | |||
| <SortOrder>1000</SortOrder> | |||
| <TemplateID>470a668a-a0fa-4555-b180-549744a4f118</TemplateID> | |||
| <CreateNewFolder>true</CreateNewFolder> | |||
| <DefaultName>MyProjectTemplate</DefaultName> | |||
| <ProvideDefaultName>true</ProvideDefaultName> | |||
| </TemplateData> | |||
| <TemplateContent> | |||
| <Project File="ProjectTemplate.csproj" ReplaceParameters="true"> | |||
| <ProjectItem ReplaceParameters="true" TargetFileName="Properties\AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem> | |||
| <ProjectItem ReplaceParameters="true" OpenInEditor="true">Class1.cs</ProjectItem> | |||
| </Project> | |||
| </TemplateContent> | |||
| <WizardExtension> | |||
| <Assembly>MyProjectWizard, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=30db91e113ab33e0</Assembly> | |||
| <FullClassName>MyProjectWizard.WizardImplementation</FullClassName> | |||
| </WizardExtension> | |||
| </VSTemplate> | |||
| @@ -0,0 +1,60 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
| <PropertyGroup> | |||
| <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||
| <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |||
| <ProductVersion>8.0.30703</ProductVersion> | |||
| <SchemaVersion>2.0</SchemaVersion> | |||
| <ProjectGuid>$guid1$</ProjectGuid> | |||
| <OutputType>Library</OutputType> | |||
| <AppDesignerFolder>Properties</AppDesignerFolder> | |||
| <RootNamespace>$safeprojectname$</RootNamespace> | |||
| <AssemblyName>$safeprojectname$</AssemblyName> | |||
| <TargetFrameworkVersion>v$targetframeworkversion$</TargetFrameworkVersion> | |||
| <FileAlignment>512</FileAlignment> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | |||
| <DebugSymbols>true</DebugSymbols> | |||
| <DebugType>full</DebugType> | |||
| <Optimize>false</Optimize> | |||
| <OutputPath>bin\Debug\</OutputPath> | |||
| <DefineConstants>DEBUG;TRACE</DefineConstants> | |||
| <ErrorReport>prompt</ErrorReport> | |||
| <WarningLevel>4</WarningLevel> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | |||
| <DebugType>pdbonly</DebugType> | |||
| <Optimize>true</Optimize> | |||
| <OutputPath>bin\Release\</OutputPath> | |||
| <DefineConstants>TRACE</DefineConstants> | |||
| <ErrorReport>prompt</ErrorReport> | |||
| <WarningLevel>4</WarningLevel> | |||
| </PropertyGroup> | |||
| <ItemGroup> | |||
| <Reference Include="System"/> | |||
| $if$ ($targetframeworkversion$ >= 3.5) | |||
| <Reference Include="System.Core"/> | |||
| <Reference Include="System.Xml.Linq"/> | |||
| <Reference Include="System.Data.DataSetExtensions"/> | |||
| $endif$ | |||
| $if$ ($targetframeworkversion$ >= 4.0) | |||
| <Reference Include="Microsoft.CSharp"/> | |||
| $endif$ | |||
| <Reference Include="System.Data"/> | |||
| <Reference Include="System.Xml"/> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <Compile Include="Class1.cs" /> | |||
| <Compile Include="Properties\AssemblyInfo.cs" /> | |||
| </ItemGroup> | |||
| <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||
| <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | |||
| Other similar extension points exist, see Microsoft.Common.targets. | |||
| <Target Name="BeforeBuild"> | |||
| </Target> | |||
| <Target Name="AfterBuild"> | |||
| </Target> | |||
| --> | |||
| </Project> | |||
| @@ -0,0 +1,36 @@ | |||
| using System.Reflection; | |||
| using System.Runtime.CompilerServices; | |||
| using System.Runtime.InteropServices; | |||
| // General Information about an assembly is controlled through the following | |||
| // set of attributes. Change these attribute values to modify the information | |||
| // associated with an assembly. | |||
| [assembly: AssemblyTitle("MyProjectTemplate")] | |||
| [assembly: AssemblyDescription("")] | |||
| [assembly: AssemblyConfiguration("")] | |||
| [assembly: AssemblyCompany("Company")] | |||
| [assembly: AssemblyProduct("MyProjectTemplate")] | |||
| [assembly: AssemblyCopyright("Copyright © Company 2023")] | |||
| [assembly: AssemblyTrademark("")] | |||
| [assembly: AssemblyCulture("")] | |||
| // Setting ComVisible to false makes the types in this assembly not visible | |||
| // to COM components. If you need to access a type in this assembly from | |||
| // COM, set the ComVisible attribute to true on that type. | |||
| [assembly: ComVisible(false)] | |||
| // The following GUID is for the ID of the typelib if this project is exposed to COM | |||
| [assembly: Guid("04887c90-4c4e-4847-b97f-bf582feff02c")] | |||
| // Version information for an assembly consists of the following four values: | |||
| // | |||
| // Major Version | |||
| // Minor Version | |||
| // Build Number | |||
| // Revision | |||
| // | |||
| // You can specify all the values or you can default the Build and Revision Numbers | |||
| // by using the '*' as shown below: | |||
| // [assembly: AssemblyVersion("1.0.*")] | |||
| [assembly: AssemblyVersion("1.0.0.0")] | |||
| [assembly: AssemblyFileVersion("1.0.0.0")] | |||
| @@ -0,0 +1,51 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.5.33530.505 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyProjectWizard", "MyProjectWizard\MyProjectWizard.csproj", "{4F590F6A-CA66-447E-B0B9-A1DAD55B7368}" | |||
| EndProject | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyProjectTemplate", "MyProjectTemplate\MyProjectTemplate.csproj", "{04887C90-4C4E-4847-B97F-BF582FEFF02C}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Debug|arm64 = Debug|arm64 | |||
| Debug|x86 = Debug|x86 | |||
| Release|Any CPU = Release|Any CPU | |||
| Release|arm64 = Release|arm64 | |||
| Release|x86 = Release|x86 | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Debug|arm64.ActiveCfg = Debug|arm64 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Debug|arm64.Build.0 = Debug|arm64 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Debug|x86.ActiveCfg = Debug|x86 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Debug|x86.Build.0 = Debug|x86 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Release|arm64.ActiveCfg = Release|arm64 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Release|arm64.Build.0 = Release|arm64 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Release|x86.ActiveCfg = Release|x86 | |||
| {4F590F6A-CA66-447E-B0B9-A1DAD55B7368}.Release|x86.Build.0 = Release|x86 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Debug|arm64.ActiveCfg = Debug|arm64 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Debug|arm64.Build.0 = Debug|arm64 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Debug|x86.ActiveCfg = Debug|x86 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Debug|x86.Build.0 = Debug|x86 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Release|arm64.ActiveCfg = Release|arm64 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Release|arm64.Build.0 = Release|arm64 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Release|x86.ActiveCfg = Release|x86 | |||
| {04887C90-4C4E-4847-B97F-BF582FEFF02C}.Release|x86.Build.0 = Release|x86 | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {37BD342D-ABC4-47E3-AA49-6F152BD2BF27} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,120 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
| <PropertyGroup> | |||
| <MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion> | |||
| <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> | |||
| <TargetFrameworkProfile /> | |||
| </PropertyGroup> | |||
| <PropertyGroup> | |||
| <SignAssembly>true</SignAssembly> | |||
| </PropertyGroup> | |||
| <PropertyGroup> | |||
| <AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile> | |||
| </PropertyGroup> | |||
| <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> | |||
| <PropertyGroup> | |||
| <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||
| <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |||
| <SchemaVersion>2.0</SchemaVersion> | |||
| <ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||
| <ProjectGuid>{4F590F6A-CA66-447E-B0B9-A1DAD55B7368}</ProjectGuid> | |||
| <OutputType>Library</OutputType> | |||
| <AppDesignerFolder>Properties</AppDesignerFolder> | |||
| <RootNamespace>MyProjectWizard</RootNamespace> | |||
| <AssemblyName>MyProjectWizard</AssemblyName> | |||
| <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> | |||
| <GeneratePkgDefFile>true</GeneratePkgDefFile> | |||
| <UseCodebase>true</UseCodebase> | |||
| <IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer> | |||
| <IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer> | |||
| <IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment> | |||
| <CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory> | |||
| <CopyOutputSymbolsToOutputDirectory>true</CopyOutputSymbolsToOutputDirectory> | |||
| <StartAction>Program</StartAction> | |||
| <StartProgram Condition="'$(DevEnvDir)' != ''">$(DevEnvDir)devenv.exe</StartProgram> | |||
| <StartArguments>/rootsuffix Exp</StartArguments> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | |||
| <DebugSymbols>true</DebugSymbols> | |||
| <DebugType>full</DebugType> | |||
| <Optimize>false</Optimize> | |||
| <OutputPath>bin\Debug\</OutputPath> | |||
| <DefineConstants>DEBUG;TRACE</DefineConstants> | |||
| <ErrorReport>prompt</ErrorReport> | |||
| <WarningLevel>4</WarningLevel> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | |||
| <DebugType>pdbonly</DebugType> | |||
| <Optimize>true</Optimize> | |||
| <OutputPath>bin\Release\</OutputPath> | |||
| <DefineConstants>TRACE</DefineConstants> | |||
| <ErrorReport>prompt</ErrorReport> | |||
| <WarningLevel>4</WarningLevel> | |||
| </PropertyGroup> | |||
| <ItemGroup> | |||
| <Compile Include="PrismBootstrapper.cs" /> | |||
| <Compile Include="Properties\AssemblyInfo.cs" /> | |||
| <Compile Include="MyProjectWizardPackage.cs" /> | |||
| <Compile Include="UserInputForm.cs"> | |||
| <SubType>Form</SubType> | |||
| </Compile> | |||
| <Compile Include="ViewModels\MainWindowViewModel.cs" /> | |||
| <Compile Include="Views\MainWindow.xaml.cs"> | |||
| <DependentUpon>MainWindow.xaml</DependentUpon> | |||
| </Compile> | |||
| <Compile Include="WizardImplementation.cs" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <None Include="key.snk" /> | |||
| <None Include="source.extension.vsixmanifest"> | |||
| <SubType>Designer</SubType> | |||
| </None> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <Reference Include="PresentationCore" /> | |||
| <Reference Include="PresentationFramework" /> | |||
| <Reference Include="System" /> | |||
| <Reference Include="System.Drawing" /> | |||
| <Reference Include="System.Windows.Forms" /> | |||
| <Reference Include="System.Xaml" /> | |||
| <Reference Include="WindowsBase" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0.32112.339" ExcludeAssets="runtime" /> | |||
| <PackageReference Include="Microsoft.VisualStudio.TemplateWizardInterface"> | |||
| <Version>17.5.33428.366</Version> | |||
| </PackageReference> | |||
| <PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.5.4074" /> | |||
| <PackageReference Include="Prism.Unity"> | |||
| <Version>8.1.97</Version> | |||
| </PackageReference> | |||
| <PackageReference Include="Prism.Wpf"> | |||
| <Version>8.1.97</Version> | |||
| </PackageReference> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <ProjectReference Include="..\MyProjectTemplate\MyProjectTemplate.csproj"> | |||
| <Project>{04887C90-4C4E-4847-B97F-BF582FEFF02C}</Project> | |||
| <Name>MyProjectTemplate</Name> | |||
| <VSIXSubPath>ProjectTemplates</VSIXSubPath> | |||
| <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | |||
| <IncludeOutputGroupsInVSIX>TemplateProjectOutputGroup%3b</IncludeOutputGroupsInVSIX> | |||
| </ProjectReference> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <Page Include="Views\MainWindow.xaml"> | |||
| <Generator>MSBuild:Compile</Generator> | |||
| <SubType>Designer</SubType> | |||
| </Page> | |||
| </ItemGroup> | |||
| <ItemGroup /> | |||
| <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||
| <Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" /> | |||
| <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | |||
| Other similar extension points exist, see Microsoft.Common.targets. | |||
| <Target Name="BeforeBuild"> | |||
| </Target> | |||
| <Target Name="AfterBuild"> | |||
| </Target> | |||
| --> | |||
| </Project> | |||
| @@ -0,0 +1,6 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
| <PropertyGroup> | |||
| <ProjectView>ProjectFiles</ProjectView> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -0,0 +1,53 @@ | |||
| using Microsoft.VisualStudio.Shell; | |||
| using System; | |||
| using System.Runtime.InteropServices; | |||
| using System.Threading; | |||
| using Task = System.Threading.Tasks.Task; | |||
| namespace MyProjectWizard | |||
| { | |||
| /// <summary> | |||
| /// This is the class that implements the package exposed by this assembly. | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// <para> | |||
| /// The minimum requirement for a class to be considered a valid package for Visual Studio | |||
| /// is to implement the IVsPackage interface and register itself with the shell. | |||
| /// This package uses the helper classes defined inside the Managed Package Framework (MPF) | |||
| /// to do it: it derives from the Package class that provides the implementation of the | |||
| /// IVsPackage interface and uses the registration attributes defined in the framework to | |||
| /// register itself and its components with the shell. These attributes tell the pkgdef creation | |||
| /// utility what data to put into .pkgdef file. | |||
| /// </para> | |||
| /// <para> | |||
| /// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file. | |||
| /// </para> | |||
| /// </remarks> | |||
| [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)] | |||
| [Guid(MyProjectWizardPackage.PackageGuidString)] | |||
| public sealed class MyProjectWizardPackage : AsyncPackage | |||
| { | |||
| /// <summary> | |||
| /// MyProjectWizardPackage GUID string. | |||
| /// </summary> | |||
| public const string PackageGuidString = "41d00f6a-8181-4be4-9800-ad57fa694e50"; | |||
| #region Package Members | |||
| /// <summary> | |||
| /// Initialization of the package; this method is called right after the package is sited, so this is the place | |||
| /// where you can put all the initialization code that rely on services provided by VisualStudio. | |||
| /// </summary> | |||
| /// <param name="cancellationToken">A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down.</param> | |||
| /// <param name="progress">A provider for progress updates.</param> | |||
| /// <returns>A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method.</returns> | |||
| protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress) | |||
| { | |||
| // When initialized asynchronously, the current thread may be a background thread at this point. | |||
| // Do any initialization that requires the UI thread after switching to the UI thread. | |||
| await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); | |||
| } | |||
| #endregion | |||
| } | |||
| } | |||
| @@ -0,0 +1,41 @@ | |||
| using MyProjectWizard.ViewModels; | |||
| using MyProjectWizard.Views; | |||
| using Prism.Ioc; | |||
| using Prism.Unity; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.ComponentModel; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| namespace MyProjectWizard | |||
| { | |||
| class Bootstrapper : PrismBootstrapper | |||
| { | |||
| protected override DependencyObject CreateShell() | |||
| { | |||
| var mainWindow = Container.Resolve<MainWindow>(); | |||
| return mainWindow; | |||
| } | |||
| protected override void OnInitialized() | |||
| { | |||
| if (Shell is Window window) | |||
| { | |||
| MainWindowViewModel vm = (MainWindowViewModel)window.DataContext; | |||
| vm.OnRequestClose += (s, e) => window.Close(); | |||
| window.ShowDialog(); | |||
| } | |||
| } | |||
| protected override void RegisterTypes(IContainerRegistry containerRegistry) | |||
| { | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,33 @@ | |||
| using System.Reflection; | |||
| using System.Runtime.CompilerServices; | |||
| using System.Runtime.InteropServices; | |||
| // General Information about an assembly is controlled through the following | |||
| // set of attributes. Change these attribute values to modify the information | |||
| // associated with an assembly. | |||
| [assembly: AssemblyTitle("MyProjectWizard")] | |||
| [assembly: AssemblyDescription("")] | |||
| [assembly: AssemblyConfiguration("")] | |||
| [assembly: AssemblyCompany("")] | |||
| [assembly: AssemblyProduct("MyProjectWizard")] | |||
| [assembly: AssemblyCopyright("")] | |||
| [assembly: AssemblyTrademark("")] | |||
| [assembly: AssemblyCulture("")] | |||
| // Setting ComVisible to false makes the types in this assembly not visible | |||
| // to COM components. If you need to access a type in this assembly from | |||
| // COM, set the ComVisible attribute to true on that type. | |||
| [assembly: ComVisible(false)] | |||
| // Version information for an assembly consists of the following four values: | |||
| // | |||
| // Major Version | |||
| // Minor Version | |||
| // Build Number | |||
| // Revision | |||
| // | |||
| // You can specify all the values or you can default the Build and Revision Numbers | |||
| // by using the '*' as shown below: | |||
| // [assembly: AssemblyVersion("1.0.*")] | |||
| [assembly: AssemblyVersion("1.0.0.0")] | |||
| [assembly: AssemblyFileVersion("1.0.0.0")] | |||
| @@ -0,0 +1,47 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows.Forms; | |||
| namespace MyProjectWizard | |||
| { | |||
| public partial class UserInputForm : Form | |||
| { | |||
| private static string customMessage; | |||
| private TextBox textBox1; | |||
| private Button button1; | |||
| public UserInputForm() | |||
| { | |||
| this.Size = new System.Drawing.Size(155, 265); | |||
| button1 = new Button(); | |||
| button1.Location = new System.Drawing.Point(90, 25); | |||
| button1.Size = new System.Drawing.Size(50, 25); | |||
| button1.Click += button1_Click; | |||
| this.Controls.Add(button1); | |||
| textBox1 = new TextBox(); | |||
| textBox1.Location = new System.Drawing.Point(10, 25); | |||
| textBox1.Size = new System.Drawing.Size(70, 20); | |||
| this.Controls.Add(textBox1); | |||
| } | |||
| public static string CustomMessage | |||
| { | |||
| get | |||
| { | |||
| return customMessage; | |||
| } | |||
| set | |||
| { | |||
| customMessage = value; | |||
| } | |||
| } | |||
| private void button1_Click(object sender, EventArgs e) | |||
| { | |||
| customMessage = textBox1.Text; | |||
| this.Close(); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,27 @@ | |||
| using Microsoft.VisualStudio.PlatformUI; | |||
| using Microsoft.VisualStudio.Shell.Interop; | |||
| using Prism.Mvvm; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| namespace MyProjectWizard.ViewModels | |||
| { | |||
| public class MainWindowViewModel:BindableBase | |||
| { | |||
| public event EventHandler OnRequestClose; | |||
| public DelegateCommand SubmitCommand { get; private set; } | |||
| public MainWindowViewModel() | |||
| { | |||
| SubmitCommand = new DelegateCommand(Submit); | |||
| } | |||
| void Submit() | |||
| { | |||
| OnRequestClose(this, new EventArgs()); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,11 @@ | |||
| <Window x:Class="MyProjectWizard.Views.MainWindow" | |||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
| xmlns:prism="http://prismlibrary.com/" | |||
| prism:ViewModelLocator.AutoWireViewModel="True" | |||
| Title="Shell" Height="350" Width="525"> | |||
| <Grid> | |||
| <Button Command="{Binding SubmitCommand}" Content="click"/> | |||
| </Grid> | |||
| </Window> | |||
| @@ -0,0 +1,15 @@ | |||
| using System.Windows; | |||
| namespace MyProjectWizard.Views | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for MainWindow.xaml | |||
| /// </summary> | |||
| public partial class MainWindow : Window | |||
| { | |||
| public MainWindow() | |||
| { | |||
| InitializeComponent(); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,71 @@ | |||
| using EnvDTE; | |||
| using EnvDTE80; | |||
| using Microsoft.VisualStudio.TemplateWizard; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows.Forms; | |||
| namespace MyProjectWizard | |||
| { | |||
| public class WizardImplementation : IWizard | |||
| { | |||
| private UserInputForm inputForm; | |||
| private string customMessage; | |||
| private Bootstrapper bootstrapper; | |||
| private DTE2 _dte; | |||
| // This method is called before opening any item that | |||
| // has the OpenInEditor attribute. | |||
| public WizardImplementation() | |||
| { | |||
| bootstrapper = new Bootstrapper(); | |||
| } | |||
| public void BeforeOpeningFile(ProjectItem projectItem) | |||
| { | |||
| } | |||
| public void ProjectFinishedGenerating(Project project) | |||
| { | |||
| } | |||
| // This method is only called for item templates, | |||
| // not for project templates. | |||
| public void ProjectItemFinishedGenerating(ProjectItem | |||
| projectItem) | |||
| { | |||
| } | |||
| // This method is called after the project is created. | |||
| public async void RunFinished() | |||
| { | |||
| bootstrapper.Run(); | |||
| _dte.Solution.Close(); | |||
| try | |||
| { | |||
| Task.Delay(1000); | |||
| _dte.Solution.Open("C:\\Users\\chris\\Desktop\\ConsoleApp\\ConsoleApp.sln"); | |||
| } | |||
| catch | |||
| { | |||
| } | |||
| } | |||
| public void RunStarted(object automationObject, | |||
| Dictionary<string, string> replacementsDictionary, | |||
| WizardRunKind runKind, object[] customParams) | |||
| { | |||
| _dte = (DTE2)automationObject; | |||
| } | |||
| // This method is only called for item templates, | |||
| // not for project templates. | |||
| public bool ShouldAddProjectItem(string filePath) | |||
| { | |||
| return true; | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,24 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011"> | |||
| <Metadata> | |||
| <Identity Id="MyProjectWizard.e3bd17a4-4464-4463-a0a1-239d718e2c08" Version="1.0" Language="en-US" Publisher="Company" /> | |||
| <DisplayName>MyProjectWizard</DisplayName> | |||
| <Description>Empty VSIX Project.</Description> | |||
| </Metadata> | |||
| <Installation> | |||
| <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0, 18.0)"> | |||
| <ProductArchitecture>amd64</ProductArchitecture> | |||
| </InstallationTarget> | |||
| </Installation> | |||
| <Dependencies> | |||
| <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" /> | |||
| </Dependencies> | |||
| <Prerequisites> | |||
| <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0,18.0)" DisplayName="Visual Studio core editor" /> | |||
| </Prerequisites> | |||
| <Assets> | |||
| <Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" /> | |||
| <Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" AssemblyName="|%CurrentProject%;AssemblyName|" /> | |||
| <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="MyProjectTemplate" d:TargetPath="|MyProjectTemplate;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" /> | |||
| </Assets> | |||
| </PackageManifest> | |||