This commit is contained in:
Martin Vega 2017-03-09 12:39:59 +01:00
Родитель 30930ea34b a08c1532b2
Коммит 8ae995230f
38 изменённых файлов: 131 добавлений и 1408 удалений

Просмотреть файл

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26020.0
VisualStudioVersion = 15.0.26228.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{481CC407-92E7-42A9-AD6E-AA157E5D40C3}"
EndProject
@ -24,18 +24,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Templates.Test", "test\Temp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artifacts", "test\Artifacts\Artifacts.csproj", "{FB3C81AD-823E-409C-BF6D-27534B84A8AF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{D89D7121-DAFD-4CBC-A678-CA3DEF13F393}"
ProjectSection(SolutionItems) = preProject
content\EULA.rtf = content\EULA.rtf
content\UwpTemplates.config.json = content\UwpTemplates.config.json
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installer.2015", "src\Installer.2015\Installer.2015.csproj", "{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installer.2017", "src\Installer.2017\Installer.2017.csproj", "{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp.UWP.VS2015.Solution", "src\ProjectTemplates\CSharp.UWP.2015.Solution\CSharp.UWP.VS2015.Solution.csproj", "{BA338FD8-55FC-4606-8645-18A1C00F9233}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp.UWP.VS2017.Solution", "src\ProjectTemplates\CSharp.UWP.2017.Solution\CSharp.UWP.VS2017.Solution.csproj", "{D5E1C23A-7547-412A-82F1-F00C34622C1E}"
EndProject
Global
@ -68,18 +58,10 @@ Global
{FB3C81AD-823E-409C-BF6D-27534B84A8AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB3C81AD-823E-409C-BF6D-27534B84A8AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB3C81AD-823E-409C-BF6D-27534B84A8AF}.Release|Any CPU.Build.0 = Release|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Release|Any CPU.Build.0 = Release|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Release|Any CPU.Build.0 = Release|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Release|Any CPU.Build.0 = Release|Any CPU
{D5E1C23A-7547-412A-82F1-F00C34622C1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5E1C23A-7547-412A-82F1-F00C34622C1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5E1C23A-7547-412A-82F1-F00C34622C1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -93,7 +75,6 @@ Global
{272B516C-0D73-4BA6-A97E-5C82D5C02ABD} = {481CC407-92E7-42A9-AD6E-AA157E5D40C3}
{1EE12A16-FE11-43AD-B509-668CE5D0DB16} = {481CC407-92E7-42A9-AD6E-AA157E5D40C3}
{FB3C81AD-823E-409C-BF6D-27534B84A8AF} = {481CC407-92E7-42A9-AD6E-AA157E5D40C3}
{BA338FD8-55FC-4606-8645-18A1C00F9233} = {428D8EC8-DF58-4921-B464-967086C924A4}
{D5E1C23A-7547-412A-82F1-F00C34622C1E} = {428D8EC8-DF58-4921-B464-967086C924A4}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26020.0
VisualStudioVersion = 15.0.26228.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{481CC407-92E7-42A9-AD6E-AA157E5D40C3}"
EndProject
@ -26,12 +26,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{D89D
content\UwpTemplates.config.json = content\UwpTemplates.config.json
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installer.2015", "src\Installer.2015\Installer.2015.csproj", "{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installer.2017", "src\Installer.2017\Installer.2017.csproj", "{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp.UWP.VS2015.Solution", "src\ProjectTemplates\CSharp.UWP.2015.Solution\CSharp.UWP.VS2015.Solution.csproj", "{BA338FD8-55FC-4606-8645-18A1C00F9233}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp.UWP.VS2017.Solution", "src\ProjectTemplates\CSharp.UWP.2017.Solution\CSharp.UWP.VS2017.Solution.csproj", "{D5E1C23A-7547-412A-82F1-F00C34622C1E}"
EndProject
Global
@ -56,18 +52,10 @@ Global
{FB3C81AD-823E-409C-BF6D-27534B84A8AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB3C81AD-823E-409C-BF6D-27534B84A8AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB3C81AD-823E-409C-BF6D-27534B84A8AF}.Release|Any CPU.Build.0 = Release|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}.Release|Any CPU.Build.0 = Release|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB30852B-672A-4EBF-BE58-BC63F6D3C0DE}.Release|Any CPU.Build.0 = Release|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA338FD8-55FC-4606-8645-18A1C00F9233}.Release|Any CPU.Build.0 = Release|Any CPU
{D5E1C23A-7547-412A-82F1-F00C34622C1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5E1C23A-7547-412A-82F1-F00C34622C1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5E1C23A-7547-412A-82F1-F00C34622C1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -79,7 +67,6 @@ Global
GlobalSection(NestedProjects) = preSolution
{8E03F5DD-ED89-4A68-9801-E1C1EC288DD7} = {481CC407-92E7-42A9-AD6E-AA157E5D40C3}
{FB3C81AD-823E-409C-BF6D-27534B84A8AF} = {481CC407-92E7-42A9-AD6E-AA157E5D40C3}
{BA338FD8-55FC-4606-8645-18A1C00F9233} = {428D8EC8-DF58-4921-B464-967086C924A4}
{D5E1C23A-7547-412A-82F1-F00C34622C1E} = {428D8EC8-DF58-4921-B464-967086C924A4}
EndGlobalSection
EndGlobal

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 418 KiB

Просмотреть файл

@ -1,34 +0,0 @@
namespace Microsoft.Templates.Extension.Commands
{
using System;
/// <summary>
/// Helper class that exposes all GUIDs used across VS Package.
/// </summary>
internal sealed partial class PackageGuids
{
public const string guidTemplatesCommandsPackageString = "70616fbe-b608-4e19-a769-cb46095a2f3d";
public const string guidTemplatesCommandsPackageCmdSetString = "b3e2b592-29a1-469b-817a-0e4b7a2c6049";
public const string guidImagesString = "560f61e9-e98d-4fc0-815e-328c11792076";
public static Guid guidTemplatesCommandPackage = new Guid(guidTemplatesCommandsPackageString);
public static Guid guidTemplatesCommandPackageCmdSet = new Guid(guidTemplatesCommandsPackageCmdSetString);
public static Guid guidImages = new Guid(guidImagesString);
}
/// <summary>
/// Helper class that encapsulates all CommandIDs uses across VS Package.
/// </summary>
internal sealed partial class PackageIds
{
public const int TemplatesContextGroup = 0x0100;
public const int TemplatesContextMenu = 0x0200;
public const int TemplatesContextMenuGroup = 0x0300;
public const int AddPageCommand = 0x0400;
public const int AddFeatureCommand = 0x0500;
public const int bmpPic1 = 0x0001;
public const int bmpPic2 = 0x0002;
public const int bmpPicSearch = 0x0003;
public const int bmpPicX = 0x0004;
public const int bmpPicArrows = 0x0005;
public const int bmpPicStrikethrough = 0x0006;
}
}

Просмотреть файл

@ -1,102 +0,0 @@
//------------------------------------------------------------------------------
// <copyright file="TemplatesCommands.cs" company="Company">
// Copyright (c) Company. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.ComponentModel.Design;
using System.Globalization;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
namespace Microsoft.Templates.Extension.Commands
{
/// <summary>
/// Command handler
/// </summary>
internal sealed class TemplatesCommands
{
/// <summary>
/// Command ID.
/// </summary>
public const int CommandId = 0x0100;
/// <summary>
/// Command menu group (command set GUID).
/// </summary>
public static readonly Guid CommandSet = new Guid("b3e2b592-29a1-469b-817a-0e4b7a2c6049");
/// <summary>
/// VS Package that provides this command, not null.
/// </summary>
private readonly Package package;
/// <summary>
/// Initializes a new instance of the <see cref="TemplatesCommands"/> class.
/// Adds our command handlers for menu (commands must exist in the command table file)
/// </summary>
/// <param name="package">Owner package, not null.</param>
private TemplatesCommands(Package package)
{
this.package = package ?? throw new ArgumentNullException("package");
if (this.ServiceProvider.GetService(typeof(IMenuCommandService)) is OleMenuCommandService commandService)
{
var menuCommandID = new CommandID(CommandSet, CommandId);
var menuItem = new MenuCommand(this.MenuItemCallback, menuCommandID);
commandService.AddCommand(menuItem);
}
}
/// <summary>
/// Gets the instance of the command.
/// </summary>
public static TemplatesCommands Instance
{
get;
private set;
}
/// <summary>
/// Gets the service provider from the owner package.
/// </summary>
private IServiceProvider ServiceProvider
{
get
{
return this.package;
}
}
/// <summary>
/// Initializes the singleton instance of the command.
/// </summary>
/// <param name="package">Owner package, not null.</param>
public static void Initialize(Package package)
{
Instance = new TemplatesCommands(package);
}
/// <summary>
/// This function is the callback used to execute the command when the menu item is clicked.
/// See the constructor to see how the menu item is associated with this function using
/// OleMenuCommandService service and MenuCommand class.
/// </summary>
/// <param name="sender">Event sender.</param>
/// <param name="e">Event args.</param>
private void MenuItemCallback(object sender, EventArgs e)
{
string message = string.Format(CultureInfo.CurrentCulture, "Inside {0}.MenuItemCallback()", this.GetType().FullName);
string title = "TemplatesCommands";
// Show a message box to prove we were here
VsShellUtilities.ShowMessageBox(
this.ServiceProvider,
message,
title,
OLEMSGICON.OLEMSGICON_INFO,
OLEMSGBUTTON.OLEMSGBUTTON_OK,
OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
}
}
}

Просмотреть файл

@ -1,80 +0,0 @@
//------------------------------------------------------------------------------
// <copyright file="TemplatesCommandsPackage.cs" company="Company">
// Copyright (c) Company. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using Microsoft.Templates.Core.Diagnostics;
using Microsoft.Templates.Extension.Resources;
using Microsoft.Templates.Wizard;
using Microsoft.Templates.Wizard.Host;
using Microsoft.VisualStudio.Shell;
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Microsoft.Templates.Extension.Commands
{
[ProvideAutoLoad("{f1536ef8-92ec-443c-9ed7-fdadf150da82}")]
[PackageRegistration(UseManagedResourcesOnly = true)]
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] // Info on this package for Help/About
[ProvideMenuResource("Menus.ctmenu", 1)]
[Guid(PackageGuids.guidTemplatesCommandsPackageString)]
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms")]
public sealed class TemplatesCommandsPackage : Package
{
private VsRelayCommand _addPageCommand;
private VsRelayCommand _addFeatureCommand;
public TemplatesCommandsPackage()
{
}
protected override void Initialize()
{
_addPageCommand = new VsRelayCommand(this, PackageIds.AddPageCommand, PackageGuids.guidTemplatesCommandPackageCmdSet,
AddPageToProject,
(sender, e) =>
{
var cmd = (OleMenuCommand)sender;
cmd.Visible = true;
}
);
_addFeatureCommand = new VsRelayCommand(this, PackageIds.AddFeatureCommand, PackageGuids.guidTemplatesCommandPackageCmdSet,
AddFeatureToProject,
(sender, e) =>
{
var cmd = (OleMenuCommand)sender;
cmd.Visible = true;
});
base.Initialize();
}
private void AddPageToProject(object sender, EventArgs e)
{
try
{
//TODO: AddPage Command implementation
}
catch (Exception ex)
{
MessageBox.Show(StringRes.UnexpectedExPattern.UseParams(ex.ToString()), StringRes.UIMessageBoxTitlePattern.UseParams(StringRes.AddPageAction), MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
private void AddFeatureToProject(object sender, EventArgs e)
{
try
{
//TODO: AddFeature command implementation.
}
catch (Exception ex)
{
MessageBox.Show(StringRes.UnexpectedExPattern.UseParams(ex.ToString()), StringRes.UIMessageBoxTitlePattern.UseParams(StringRes.AddFeatureAction), MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
}
}

Просмотреть файл

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Extern href="stdidcmd.h"/>
<Extern href="vsshlids.h"/>
<Commands package="guidTemplatesCommandsPackage">
<Groups>
<Group guid="guidTemplatesCommandsPackageCmdSet" id="TemplatesContextGroup" priority="0x0000" />
<Group guid="guidTemplatesCommandsPackageCmdSet" id="TemplatesContextMenuGroup" priority="0x0000" />
</Groups>
<Menus>
<Menu guid="guidTemplatesCommandsPackageCmdSet" id="TemplatesContextMenu" type="Context" priority="0x0100">
<Strings>
<CommandName>UWP Community Templates</CommandName>
<ButtonText>UWP Community Templates</ButtonText>
<MenuText>UWP Community Templates</MenuText>
<ToolTipText>UWP Community Templates</ToolTipText>
</Strings>
</Menu>
</Menus>
<Buttons>
<Button guid="guidTemplatesCommandsPackageCmdSet" id="AddPageCommand" priority="0x0100" type="Button">
<Icon guid="guidImages" id="bmpPicSearch" />
<Strings>
<ButtonText>Add New Page...</ButtonText>
</Strings>
</Button>
<Button guid="guidTemplatesCommandsPackageCmdSet" id="AddFeatureCommand" priority="0x0200" type="Button">
<Icon guid="guidImages" id="bmpPicSearch" />
<Strings>
<ButtonText>Add Feature...</ButtonText>
</Strings>
</Button>
</Buttons>
<Bitmaps>
<Bitmap guid="guidImages" href="Resources\TemplatesCommands.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>
</Bitmaps>
</Commands>
<Symbols>
<GuidSymbol name="guidTemplatesCommandsPackage" value="{70616fbe-b608-4e19-a769-cb46095a2f3d}" />
<GuidSymbol name="guidTemplatesCommandsPackageCmdSet" value="{b3e2b592-29a1-469b-817a-0e4b7a2c6049}">
<IDSymbol name="TemplatesContextGroup" value="0x0100" />
<IDSymbol name="TemplatesContextMenu" value="0x0200" />
<IDSymbol name="TemplatesContextMenuGroup" value="0x0300" />
<IDSymbol name="AddPageCommand" value="0x0400"/>
<IDSymbol name="AddFeatureCommand" value="0x0500"/>
</GuidSymbol>
<GuidSymbol name="guidImages" value="{560f61e9-e98d-4fc0-815e-328c11792076}" >
<IDSymbol name="bmpPic1" value="1" />
<IDSymbol name="bmpPic2" value="2" />
<IDSymbol name="bmpPicSearch" value="3" />
<IDSymbol name="bmpPicX" value="4" />
<IDSymbol name="bmpPicArrows" value="5" />
<IDSymbol name="bmpPicStrikethrough" value="6" />
</GuidSymbol>
</Symbols>
</CommandTable>

Просмотреть файл

@ -1,130 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="110" xml:space="preserve">
<value>UWP Community Templates Extension</value>
</data>
<data name="112" xml:space="preserve">
<value>UWP Community Templates Visual Studio Extension Detailed Info</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\TemplatesCommandsPackage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Просмотреть файл

@ -1,32 +0,0 @@
using Microsoft.VisualStudio.Shell;
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Microsoft.Templates.Extension.Commands
{
public class VsRelayCommand
{
private readonly Package _package;
public VsRelayCommand(Package package, int commandId, Guid commandSet, Action<object, EventArgs> menuCallback, Action<object, EventArgs> beforeQueryStatus = null)
{
_package = package ?? throw new ArgumentNullException("package");
if (this.ServiceProvider.GetService(typeof(IMenuCommandService)) is OleMenuCommandService commandService)
{
var menuCommandID = new CommandID(commandSet, commandId);
var menuItem = new OleMenuCommand(menuCallback.Invoke, menuCommandID);
if (beforeQueryStatus != null)
{
menuItem.BeforeQueryStatus += beforeQueryStatus.Invoke;
}
commandService.AddCommand(menuItem);
}
}
private IServiceProvider ServiceProvider => _package;
}
}

Просмотреть файл

@ -1,263 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props" Condition="Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props')" />
<PropertyGroup>
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<TargetFrameworkProfile />
<UseCodebase>true</UseCodebase>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>..\..\TestKey.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>{121261A4-E9A7-4DE6-BFE9-F93CADDA092F}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.Templates.Extension</RootNamespace>
<AssemblyName>Microsoft.Templates.2015</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<GeneratePkgDefFile>true</GeneratePkgDefFile>
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>true</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>
<Compile Include="Commands\TemplatesCommandPackageGuids.cs" />
<Compile Include="Commands\TemplatesCommands.cs" />
<Compile Include="Commands\TemplatesCommandsPackage.cs" />
<Compile Include="Commands\VsRelayCommand.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources\ResourcesExtensions.cs" />
<Compile Include="Resources\StringRes.Designer.cs">
<DependentUpon>StringRes.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="..\..\content\EULA.rtf">
<Link>Content\EULA.rtf</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="..\..\content\UwpTemplates.config.json">
<Link>UwpTemplates.config.json</Link>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Commands\Resources\TemplatesCommands.png" />
<Content Include="Commands\Resources\TemplatesCommandsPackage.ico" />
<Content Include="Commands\TemplatesCommandsPackage.vsct" />
<None Include="..\..\README.md">
<Link>README.md</Link>
</None>
<None Include="..\..\TestKey.snk">
<Link>TestKey.snk</Link>
</None>
<None Include="app.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="source.extension.vsixmanifest">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Core\Core.csproj">
<Project>{51DDB424-2DA2-4871-A042-4F4F9B622515}</Project>
<Name>Core</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
<ProjectReference Include="..\ProjectTemplates\CSharp.UWP.2015.Solution\CSharp.UWP.VS2015.Solution.csproj">
<Project>{BA338FD8-55FC-4606-8645-18A1C00F9233}</Project>
<Name>CSharp.UWP.VS2015.Solution</Name>
<VSIXSubPath>ProjectTemplates</VSIXSubPath>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<IncludeOutputGroupsInVSIX>TemplateProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
</ProjectReference>
<ProjectReference Include="..\Wizard\Wizard.csproj">
<Project>{9E58EACC-C798-43A0-89A0-A5A32815272D}</Project>
<Name>Wizard</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="EnvDTE100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="EnvDTE90, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="envdte90a, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.TemplateEngine.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.TemplateEngine.Abstractions.1.0.0-beta1-20170223-126\lib\net45\Microsoft.TemplateEngine.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.TemplateEngine.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.TemplateEngine.Core.1.0.0-beta1-20170223-126\lib\net45\Microsoft.TemplateEngine.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.TemplateEngine.Core.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.TemplateEngine.Core.Contracts.1.0.0-beta1-20170223-126\lib\net45\Microsoft.TemplateEngine.Core.Contracts.dll</HintPath>
</Reference>
<Reference Include="Microsoft.TemplateEngine.Edge, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.TemplateEngine.Edge.1.0.0-beta1-20170223-126\lib\net45\Microsoft.TemplateEngine.Edge.dll</HintPath>
</Reference>
<Reference Include="Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.TemplateEngine.Orchestrator.RunnableProjects.1.0.0-beta1-20170223-126\lib\net45\Microsoft.TemplateEngine.Orchestrator.RunnableProjects.dll</HintPath>
</Reference>
<Reference Include="Microsoft.TemplateEngine.Utils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.TemplateEngine.Utils.1.0.0-beta1-20170223-126\lib\net45\Microsoft.TemplateEngine.Utils.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.CommandBars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.CoreUtility, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.CoreUtility.15.0.26201\lib\net45\Microsoft.VisualStudio.CoreUtility.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Imaging, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.Imaging.14.3.25407\lib\net45\Microsoft.VisualStudio.Imaging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.VisualStudio.OLE.Interop.7.10.6070\lib\Microsoft.VisualStudio.OLE.Interop.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.14.0.14.3.25407\lib\Microsoft.VisualStudio.Shell.14.0.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Framework.15.0.26201\lib\net45\Microsoft.VisualStudio.Shell.Framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Immutable.10.0.10.0.30319\lib\net40\Microsoft.VisualStudio.Shell.Immutable.10.0.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Immutable.11.0.11.0.50727\lib\net45\Microsoft.VisualStudio.Shell.Immutable.11.0.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.12.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Immutable.12.0.12.0.21003\lib\net45\Microsoft.VisualStudio.Shell.Immutable.12.0.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.14.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Immutable.14.0.14.3.25407\lib\net45\Microsoft.VisualStudio.Shell.Immutable.14.0.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.7.10.6071\lib\Microsoft.VisualStudio.Shell.Interop.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>True</EmbedInteropTypes>
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.10.0.10.0.30319\lib\Microsoft.VisualStudio.Shell.Interop.10.0.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.Shell.Interop.8.0.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.9.0.9.0.30729\lib\Microsoft.VisualStudio.Shell.Interop.9.0.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.VisualStudio.TextManager.Interop.7.10.6070\lib\Microsoft.VisualStudio.TextManager.Interop.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.VisualStudio.TextManager.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.TextManager.Interop.8.0.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Threading, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.Threading.14.1.131\lib\net45\Microsoft.VisualStudio.Threading.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Utilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.Utilities.15.0.26201\lib\net45\Microsoft.VisualStudio.Utilities.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.Validation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.VisualStudio.Validation.14.1.111\lib\net45\Microsoft.VisualStudio.Validation.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Commands\VSPackage.resx" />
<EmbeddedResource Include="Resources\StringRes.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>StringRes.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.targets'))" />
</Target>
<Import Project="..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.targets" Condition="Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.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>

Просмотреть файл

@ -1,33 +0,0 @@
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("Vsix._2015")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Vsix._2015")]
[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")]

Просмотреть файл

@ -1,33 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Microsoft.Templates.Extension
{
internal static class ResourcesExtensions
{
public static string UseParams(this string res, params object[] args)
{
string pattern = @"(\{\d\})+";
if (Regex.IsMatch(res, pattern))
{
try
{
return String.Format(res, args);
}
catch
{
return res + "<INVALID FORMAT>";
}
}
else
{
return res;
}
}
}
}

117
code/src/Installer.2015/Resources/StringRes.Designer.cs сгенерированный
Просмотреть файл

@ -1,117 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Templates.Extension.Resources {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class StringRes {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal StringRes() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Templates.Extension.Resources.StringRes", typeof(StringRes).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Add Feature.
/// </summary>
public static string AddFeatureAction {
get {
return ResourceManager.GetString("AddFeatureAction", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Add Page.
/// </summary>
public static string AddPageAction {
get {
return ResourceManager.GetString("AddPageAction", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Add Project.
/// </summary>
public static string AddProjectAction {
get {
return ResourceManager.GetString("AddProjectAction", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to UWP Community Templates: {0}.
/// </summary>
public static string UIMessageBoxTitlePattern {
get {
return ResourceManager.GetString("UIMessageBoxTitlePattern", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to UWP Community Templates: {0}.
/// </summary>
public static string UIStatusMsgPattern {
get {
return ResourceManager.GetString("UIStatusMsgPattern", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unexpected Exception.\n{0}.
/// </summary>
public static string UnexpectedExPattern {
get {
return ResourceManager.GetString("UnexpectedExPattern", resourceCulture);
}
}
}
}

Просмотреть файл

@ -1,139 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AddFeatureAction" xml:space="preserve">
<value>Add Feature</value>
</data>
<data name="AddPageAction" xml:space="preserve">
<value>Add Page</value>
</data>
<data name="AddProjectAction" xml:space="preserve">
<value>Add Project</value>
</data>
<data name="UIMessageBoxTitlePattern" xml:space="preserve">
<value>UWP Community Templates: {0}</value>
<comment>Generic MessageBox Title</comment>
</data>
<data name="UIStatusMsgPattern" xml:space="preserve">
<value>UWP Community Templates: {0}</value>
</data>
<data name="UnexpectedExPattern" xml:space="preserve">
<value>Unexpected Exception.\n{0}</value>
</data>
</root>

Просмотреть файл

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.Utilities" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.Imaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.ComponentModelHost" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.1.0" newVersion="1.4.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup></configuration>

Просмотреть файл

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.TemplateEngine.Abstractions" version="1.0.0-beta1-20170223-126" targetFramework="net462" />
<package id="Microsoft.TemplateEngine.Core" version="1.0.0-beta1-20170223-126" targetFramework="net462" />
<package id="Microsoft.TemplateEngine.Core.Contracts" version="1.0.0-beta1-20170223-126" targetFramework="net462" />
<package id="Microsoft.TemplateEngine.Edge" version="1.0.0-beta1-20170223-126" targetFramework="net462" />
<package id="Microsoft.TemplateEngine.Orchestrator.RunnableProjects" version="1.0.0-beta1-20170223-126" targetFramework="net462" />
<package id="Microsoft.TemplateEngine.Utils" version="1.0.0-beta1-20170223-126" targetFramework="net462" />
<package id="Microsoft.VisualStudio.CoreUtility" version="15.0.26201" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Imaging" version="14.3.25407" targetFramework="net46" />
<package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6070" targetFramework="net46" />
<package id="Microsoft.VisualStudio.Shell.14.0" version="14.3.25407" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Shell.Framework" version="15.0.26201" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Shell.Immutable.10.0" version="10.0.30319" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Shell.Immutable.11.0" version="11.0.50727" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Shell.Immutable.12.0" version="12.0.21003" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Shell.Immutable.14.0" version="14.3.25407" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Shell.Interop" version="7.10.6071" targetFramework="net46" />
<package id="Microsoft.VisualStudio.Shell.Interop.10.0" version="10.0.30319" targetFramework="net46" />
<package id="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.50727" targetFramework="net46" />
<package id="Microsoft.VisualStudio.Shell.Interop.9.0" version="9.0.30729" targetFramework="net46" />
<package id="Microsoft.VisualStudio.TextManager.Interop" version="7.10.6070" targetFramework="net46" />
<package id="Microsoft.VisualStudio.TextManager.Interop.8.0" version="8.0.50727" targetFramework="net46" />
<package id="Microsoft.VisualStudio.Threading" version="14.1.131" targetFramework="net46" />
<package id="Microsoft.VisualStudio.Utilities" version="15.0.26201" targetFramework="net462" />
<package id="Microsoft.VisualStudio.Validation" version="14.1.111" targetFramework="net46" />
<package id="Microsoft.VSSDK.BuildTools" version="15.0.26201" targetFramework="net462" developmentDependency="true" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net46" />
</packages>

Просмотреть файл

@ -1,27 +0,0 @@
<?xml version="1.0" ?>
<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="UWPTemplatesExtension2015.Local.9dc08c89-5da8-418b-bb2c-8be4ef6e30e2" Version="0.1" Language="en-US" Publisher="Microsoft Corporation" />
<DisplayName>UWP Templates (vs2015 local)</DisplayName>
<Description xml:space="preserve">UWP Templates Generator</Description>
<MoreInfo>http://go.microsoft.com/fwlink/?LinkId=521839</MoreInfo>
<License>Content\EULA.rtf</License>
<ReleaseNotes>https://github.com/Microsoft/UWPCommunityTemplates/blob/master/readme.md</ReleaseNotes>
<Tags>Templates UWP</Tags>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[14.0]" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.6.2,)" />
<Dependency d:Source="Installed" Id="Microsoft.VisualStudio.UWPTools" DisplayName="Universal Windows App Development Tools (v1.4.1)" Version="[14.0,15.0)" d:InstallSource="Download" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="Core" Path="|Core|" AssemblyName="|Core;AssemblyName|" />
<Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="Wizard" Path="|Wizard|" AssemblyName="|Wizard;AssemblyName|" />
<Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="CSharp.UWP.VS2015.Solution" d:TargetPath="|CSharp.UWP.VS2015.Solution;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
</Assets>
<Prerequisites>
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,16.0)" DisplayName="Visual Studio core editor" />
</Prerequisites>
</PackageManifest>

Просмотреть файл

Просмотреть файл

@ -67,15 +67,6 @@
<Compile Include="Resources\ResourcesExtensions.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="..\..\content\EULA.rtf">
<Link>Content\EULA.rtf</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="..\..\content\UwpTemplates.config.json">
<Link>UwpTemplates.config.json</Link>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Commands\Resources\TemplatesCommands.png" />
<Content Include="Commands\Resources\TemplatesCommandsPackage.ico" />
<Content Include="Commands\TemplatesCommandsPackage.vsct" />
@ -86,12 +77,18 @@
<Link>README.md</Link>
</None>
<None Include="app.config" />
<Content Include="Content\EULA.rtf">
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="source.extension.vsixmanifest">
<SubType>Designer</SubType>
</None>
<Content Include="UwpTemplates.config.json">
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
</ItemGroup>
<ItemGroup>
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -246,6 +243,7 @@
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

Просмотреть файл

@ -1,137 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props" Condition="Exists('..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props')" />
<Import Project="..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26124-RC3\build\Microsoft.VSSDK.BuildTools.props" Condition="Exists('..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26124-RC3\build\Microsoft.VSSDK.BuildTools.props')" />
<PropertyGroup>
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>14.0</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<DelaySign>false</DelaySign>
</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>{BA338FD8-55FC-4606-8645-18A1C00F9233}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CSharp.Upw.Solution</RootNamespace>
<AssemblyName>CSharp.Upw.Solution</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<GeneratePkgDefFile>false</GeneratePkgDefFile>
<IncludeAssemblyInVSIXContainer>false</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>false</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>false</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="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</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="CSharp.UWP.VS2015.Solution.ico" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<VSTemplate Include="CSharp.UWP.VS2015.Solution.vstemplate">
<OutputSubPath>Windows/Universal</OutputSubPath>
<SubType>Designer</SubType>
</VSTemplate>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.5.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.props'))" />
<Error Condition="!Exists('..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.targets'))" />
</Target>
<Import Project="..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.targets" Condition="Exists('..\..\..\packages\Microsoft.VSSDK.BuildTools.15.0.26201\build\Microsoft.VSSDK.BuildTools.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>

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 43 KiB

Просмотреть файл

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0"
Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"
xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>Uwp Templates based App (vs2015 local)</Name>
<Description>Access to the UWP gallery from Microsoft Templates</Description>
<Icon>CSharp.UWP.VS2015.Solution.ico</Icon>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>4.5</RequiredFrameworkVersion>
<SortOrder>1000</SortOrder>
<TemplateID>a06f41ad-ee94-4a2b-8cf5-09f0549cff52</TemplateID>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>App</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
</TemplateData>
<TemplateContent>
<CustomParameters>
<CustomParameter Name="$uwptemplates.category$" Value="Windows/Universal"/>
<CustomParameter Name="$uwptemplates.version$" Value="1.0.0.0"/>
</CustomParameters>
</TemplateContent>
<WizardExtension>
<Assembly>Microsoft.Templates.Wizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4ef4cc7a47ae0c5</Assembly>
<FullClassName>Microsoft.Templates.Wizard.Vsix.SolutionWizard</FullClassName>
</WizardExtension>
</VSTemplate>

Просмотреть файл

@ -1,36 +0,0 @@
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("CSharp.UWP.Solution")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("CSharp.UWP.Solution")]
[assembly: AssemblyCopyright("Microsoft 2016")]
[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("d5e1c23a-7547-412a-82f1-f00c34622c1e")]
// 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")]

Просмотреть файл

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.VSSDK.BuildTools" version="15.0.26201" targetFramework="net452" developmentDependency="true" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net452" />
</packages>

Просмотреть файл

@ -8,6 +8,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace Microsoft.Templates.Wizard.Host
{
@ -105,5 +106,11 @@ namespace Microsoft.Templates.Wizard.Host
return selection;
}
public bool ResetSelection()
{
var resetSelectionResult = MessageBox.Show(Host.WizardHostResources.ResetSelection, Host.WizardHostResources.ResetSelectionTitle, MessageBoxButton.YesNo, MessageBoxImage.Warning);
return resetSelectionResult == MessageBoxResult.Yes;
}
}
}

18
code/src/Wizard/Host/WizardHostResources.Designer.cs сгенерированный
Просмотреть файл

@ -95,5 +95,23 @@ namespace Microsoft.Templates.Wizard.Host {
return ResourceManager.GetString("PreviousButton", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your are about to change your project type selection, if you continue you will lose all the selection you made previously. Do you want to continue?.
/// </summary>
public static string ResetSelection {
get {
return ResourceManager.GetString("ResetSelection", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Reset selection.
/// </summary>
public static string ResetSelectionTitle {
get {
return ResourceManager.GetString("ResetSelectionTitle", resourceCulture);
}
}
}
}

Просмотреть файл

@ -129,4 +129,10 @@
<data name="PreviousButton" xml:space="preserve">
<value>&lt; Previous</value>
</data>
<data name="ResetSelection" xml:space="preserve">
<value>Your are about to change your project type selection, if you continue you will lose all the selection you made previously. Do you want to continue?</value>
</data>
<data name="ResetSelectionTitle" xml:space="preserve">
<value>Reset selection</value>
</data>
</root>

Просмотреть файл

@ -169,7 +169,6 @@ namespace Microsoft.Templates.Wizard.Host
if (Steps.CanGoBack())
{
var currentStep = GetCurrentStep();
currentStep.CleanState();
var previous = Steps.GoBack();
Navigate(previous);

Просмотреть файл

@ -61,11 +61,6 @@ namespace Microsoft.Templates.Wizard.Steps.ConsumerFeatures
Context.State.ConsumerFeatures.AddRange(Templates.Select(t => (t.Name, t.TemplateName)));
}
public override void CleanState()
{
Context.State.ConsumerFeatures.Clear();
}
protected override Page GetPageInternal()
{
return new View();

Просмотреть файл

@ -61,11 +61,6 @@ namespace Microsoft.Templates.Wizard.Steps.DevFeatures
Context.State.DevFeatures.AddRange(Templates.Select(t => (t.Name, t.TemplateName)));
}
public override void CleanState()
{
Context.State.DevFeatures.Clear();
}
protected override Page GetPageInternal()
{
return new View();

Просмотреть файл

@ -7,12 +7,17 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Threading;
namespace Microsoft.Templates.Wizard.Steps.Framework
{
public class ViewModel : StepViewModel
{
private bool _alreadyAccepted;
public ObservableCollection<ProjectInfoViewModel> Frameworks { get; } = new ObservableCollection<ProjectInfoViewModel>();
public override string PageTitle => Strings.PageTitle;
@ -24,7 +29,34 @@ namespace Microsoft.Templates.Wizard.Steps.Framework
public ProjectInfoViewModel SelectedFramework
{
get => _selectedFramework;
set => SetProperty(ref _selectedFramework, value);
set
{
//TODO: REVIEW THIS IMPLEMENTATION
var originalSelected = _selectedFramework;
if (ShouldShowResetMessage(value))
{
if (Context.ResetSelection())
{
_alreadyAccepted = true;
CleanState();
}
else
{
//UNDO
Application.Current.Dispatcher.BeginInvoke(
new Action(() =>
{
SetProperty(ref _selectedFramework, originalSelected);
}),
DispatcherPriority.ContextIdle,
null
);
}
}
SetProperty(ref _selectedFramework, value);
}
}
public override async Task InitializeAsync()
@ -53,7 +85,6 @@ namespace Microsoft.Templates.Wizard.Steps.Framework
}
public override void SaveState() => Context.State.Framework = SelectedFramework.Name;
public override void CleanState() => Context.State.Framework = null;
protected override Page GetPageInternal()
{
@ -67,5 +98,17 @@ namespace Microsoft.Templates.Wizard.Steps.Framework
.SelectMany(t => t.GetFrameworkList())
.Distinct();
}
private bool ShouldShowResetMessage(ProjectInfoViewModel value)
{
return !string.IsNullOrEmpty(Context.State.Framework) && !Context.State.Framework.Equals(value.Name) && !_alreadyAccepted;
}
private void CleanState()
{
Context.State.Pages.Clear();
Context.State.DevFeatures.Clear();
Context.State.ConsumerFeatures.Clear();
}
}
}

Просмотреть файл

@ -62,11 +62,6 @@ namespace Microsoft.Templates.Wizard.Steps.Pages
Context.State.Pages.AddRange(Templates.Select(t => (t.Name, t.TemplateName)));
}
public override void CleanState()
{
Context.State.Pages.Clear();
}
private void ShowAddPageDialog()
{
var dialog = new NewPage.NewPageDialog(Context, Templates.Select(t => t.Name));

Просмотреть файл

@ -26,6 +26,7 @@
ItemsSource="{Binding ProjectTypes}"
SelectedItem="{Binding SelectedProjectType, Mode=TwoWay}"
ItemTemplate="{StaticResource ProjectInfoTemplate}"
Style="{StaticResource WizardListViewStyle}"/>
<StackPanel DataContext="{Binding SelectedProjectType}" Grid.Column="1" Style="{StaticResource TemplateInfoContainerStyle}">

Просмотреть файл

@ -5,12 +5,16 @@ using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Threading;
namespace Microsoft.Templates.Wizard.Steps.ProjectType
{
public class ViewModel : StepViewModel
{
private bool _alreadyAccepted;
public ObservableCollection<ProjectInfoViewModel> ProjectTypes { get; } = new ObservableCollection<ProjectInfoViewModel>();
public override string PageTitle => Strings.PageTitle;
@ -22,7 +26,39 @@ namespace Microsoft.Templates.Wizard.Steps.ProjectType
public ProjectInfoViewModel SelectedProjectType
{
get => _selectedProjectType;
set => SetProperty(ref _selectedProjectType, value);
set
{
//TODO: REVIEW THIS IMPLEMENTATION
var originalSelected = _selectedProjectType;
if (ShouldShowResetMessage(value))
{
if (Context.ResetSelection())
{
_alreadyAccepted = true;
CleanState();
}
else
{
//UNDO
Application.Current.Dispatcher.BeginInvoke(
new Action(() =>
{
SetProperty(ref _selectedProjectType, originalSelected);
}),
DispatcherPriority.ContextIdle,
null
);
}
}
SetProperty(ref _selectedProjectType, value);
}
}
private bool ShouldShowResetMessage(ProjectInfoViewModel value)
{
return !string.IsNullOrEmpty(Context.State.ProjectType) && !Context.State.ProjectType.Equals(value.Name) && !_alreadyAccepted;
}
public override async Task InitializeAsync()
@ -53,11 +89,18 @@ namespace Microsoft.Templates.Wizard.Steps.ProjectType
public override void SaveState() => Context.State.ProjectType = SelectedProjectType.Name;
public override void CleanState() => Context.State.ProjectType = null;
protected override Page GetPageInternal()
{
return new View();
}
private void CleanState()
{
Context.State.Framework = null;
Context.State.Pages.Clear();
Context.State.DevFeatures.Clear();
Context.State.ConsumerFeatures.Clear();
}
}
}

Просмотреть файл

@ -26,7 +26,6 @@ namespace Microsoft.Templates.Wizard.Steps
//TODO: MAKE THIS METHOD TRULY ASYNC
public abstract Task InitializeAsync();
public abstract void SaveState();
public abstract void CleanState();
protected abstract Page GetPageInternal();

Просмотреть файл

@ -65,11 +65,6 @@ namespace Microsoft.Templates.Wizard.Steps.Summary
//NOTHING TO DO
}
public override void CleanState()
{
//NOTHING TO DO
}
protected override Page GetPageInternal()
{
return new View();