Návod: Vytvoření sady SDK pomocí jazyka C# nebo Visual Basic
V tomto názorném postupu se dozvíte, jak vytvořit jednoduchou sadu SDK matematické knihovny pomocí visual C# a pak zabalit sadu SDK jako rozšíření sady Visual Studio (VSIX). Provedete následující postupy:
Požadavky
Pokud chcete postupovat podle tohoto návodu, musíte nainstalovat sadu Visual Studio SDK. Další informace najdete v sadě Visual Studio SDK.
Vytvoření komponenty SimpleMath prostředí Windows Runtime
Na řádku nabídek zvolte Soubor>nový>projekt.
V seznamu šablon rozbalte Visual C# nebo Visual Basic, zvolte uzel Windows Store a pak zvolte šablonu komponenty prostředí Windows Runtime.
V poli Název zadejte SimpleMath a pak zvolte tlačítko OK .
V Průzkumník řešení otevřete místní nabídku pro uzel projektu SimpleMath a pak zvolte Vlastnosti.
Přejmenujte Class1.cs na Arithmetic.cs a aktualizujte ho tak, aby odpovídaly následujícímu kódu:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WinRTMath { public sealed class Arithmetic { public float add(float firstNumber, float secondNumber) { return (firstNumber + secondNumber); } public float subtract(float firstNumber, float secondNumber) { return (firstNumber - secondNumber); } public float multiply(float firstNumber, float secondNumber) { return (firstNumber * secondNumber); } public float divide(float firstNumber, float secondNumber) { return (firstNumber / secondNumber); } } }
V Průzkumník řešení otevřete místní nabídku uzlu Řešení SimpleMath a pak zvolte Configuration Manager.
Otevře se dialogové okno Configuration Manageru .
V seznamu konfigurace aktivního řešení zvolte Verze.
Ve sloupci Konfigurace ověřte, že je řádek SimpleMath nastavený na Release (Vydaná verze) a pak zvolte tlačítko Zavřít a přijměte změnu.
Důležité
Sada SDK pro komponentu SimpleMath zahrnuje pouze jednu konfiguraci. Tato konfigurace musí být sestavení vydané verze nebo aplikace, které tuto komponentu používají, neprojdou certifikací pro Microsoft Store.
V Průzkumník řešení otevřete místní nabídku pro uzel projektu SimpleMath a pak zvolte Sestavit.
Vytvoření projektu rozšíření SimpleMathVSIX
V místní nabídce uzlu Řešení SimpleMath zvolte Přidat>nový projekt.
V seznamu šablon rozbalte Visual C# nebo Visual Basic, zvolte uzel rozšiřitelnosti a pak zvolte šablonu projektu VSIX.
Do pole Název zadejte SimpleMathVSIX a pak zvolte tlačítko OK.
V Průzkumník řešení zvolte položku source.extension.vsixmanifest.
Na řádku nabídek zvolte Zobrazit>kód.
Nahraďte existující XML následujícím kódem XML:
<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="SimpleMath" Version="1.0" Language="en-US" Publisher="[YourName]" /> <DisplayName>SimpleMath Library</DisplayName> <Description xml:space="preserve">Basic arithmetic operations in a WinRT-compatible library. Implemented in C#.</Description> </Metadata> <Installation Scope="Global" AllUsers="true"> <InstallationTarget Id="Microsoft.ExtensionSDK" TargetPlatformIdentifier="Windows" TargetPlatformVersion="v8.0" SdkName="SimpleMath" SdkVersion="1.0" /> </Installation> <Prerequisites> <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[14.0,16.0]" /> </Prerequisites> <Dependencies> <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="4.5" /> </Dependencies> <Assets> <Asset Type="Microsoft.ExtensionSDK" d:Source="File" Path="SDKManifest.xml" /> </Assets> </PackageManifest>
V Průzkumník řešení zvolte projekt SimpleMathVSIX.
Na řádku nabídek zvolte Přidat novou položku projektu>.
V seznamu Společných položek rozbalte položku Data a pak zvolte Soubor XML.
Do pole Název zadejte
SDKManifest.xml
a pak zvolte tlačítko Přidat.V Průzkumník řešení otevřete místní nabídku pro
SDKManifest.xml
, zvolte Properties a potom změňte hodnotu Include in VSIX vlastnost True.Obsah souboru nahraďte následujícím kódem XML:
C#
<FileList DisplayName="WinRT Math Library (CS)" MinVSVersion="11.0" TargetFramework=".NETCore,version=v4.5" AppliesTo="WindowsAppContainer" SupportsMultipleVersions="Error" MoreInfo="https://msdn.microsoft.com/"> </FileList>
Visual Basic
<FileList DisplayName="WinRT Math Library (VB)" MinVSVersion="11.0" TargetFramework=".NETCore,version=v4.5" AppliesTo="WindowsAppContainer" SupportsMultipleVersions="Error" MoreInfo="https://msdn.microsoft.com/"> </FileList>
V Průzkumník řešení otevřete místní nabídku projektu SimpleMathVSIX, zvolte Přidat a pak zvolte Nová složka.
Přejmenujte složku na
references
.Otevřete místní nabídku složky Reference , zvolte Přidat a pak zvolte Nová složka.
Přejmenujte podsložku na
commonconfiguration
, vytvořte v ní podsložku a pojmenujte jineutral
.Opakujte předchozí čtyři kroky a tentokrát přejmenujte první složku na
redist
.Projekt teď obsahuje následující strukturu složek:
references\commonconfiguration\neutral redist\commonconfiguration\neutral
V Průzkumník řešení otevřete místní nabídku projektu SimpleMath a pak zvolte Otevřít složku v Průzkumník souborů.
V Průzkumník souborů přejděte do složky bin\Release, otevřete místní nabídku pro soubor SimpleMath.winmd a pak zvolte Kopírovat.
V Průzkumník řešení vložte soubor do složky references\commonconfiguration\neutral v projektu SimpleMathVSIX.
Opakujte předchozí krok a vložte soubor SimpleMath.pri do složky redist\commonconfiguration\neutral v projektu SimpleMathVSIX .
V Průzkumník řešení zvolte SimpleMath.winmd.
Na řádku nabídek zvolte Zobrazit>vlastnosti (klávesnice: Zvolte klávesu F4).
V okně Vlastnosti změňte vlastnost Akce sestavení na Obsah a potom změňte include v VSIX vlastnost na True.
V Průzkumník řešení tento proces opakujte pro SimpleMath.pri.
V Průzkumník řešení zvolte projekt SimpleMathVSIX.
Na řádku nabídek zvolte Sestavit SimpleMathVSIX>.
V Průzkumník řešení otevřete místní nabídku projektu SimpleMathVSIX a pak zvolte Otevřít složku v Průzkumník souborů.
V Průzkumník souborů přejděte do složky \bin\Release a spusťte
SimpleMathVSIX.vsix
instalaci.Zvolte tlačítko Nainstalovat, počkejte na dokončení instalace a restartujte Visual Studio.
Vytvoření ukázkové aplikace, která používá knihovnu tříd
Na řádku nabídek zvolte Soubor>nový>projekt.
V seznamu šablon rozbalte Visual C# nebo Visual Basic a pak zvolte uzel Windows Store .
Zvolte šablonu Prázdná aplikace, pojmenujte projekt AritmeticUI a pak zvolte tlačítko OK.
V Průzkumník řešení otevřete místní nabídku projektu AritmeticUI a pak zvolte Přidat>odkaz.
V seznamu typů odkazů rozbalte Windows a pak zvolte Rozšíření.
V podokně podrobností zvolte rozšíření Knihovny matematiky WinRT.
Zobrazí se další informace o sadě SDK. Můžete zvolit odkaz Další informace , který chcete otevřít
https://msdn.microsoft.com/
, jak jste zadali v souboru SDKManifest.xml dříve v tomto návodu.V dialogovém okně Správce odkazů zaškrtněte políčko Matematické knihovny WinRT a pak zvolte tlačítko OK .
Na řádku nabídek zvolte Zobrazit>prohlížeč objektů.
V seznamu Procházet zvolte Jednoduchá matematika.
Teď můžete prozkoumat, co je v sadě SDK.
V Průzkumník řešení otevřete MainPage.xaml a nahraďte jeho obsah následujícím kódem XAML:
C#
<Page x:Class="ArithmeticUI.MainPage" IsTabStop="False" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:SimpleMath" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <TextBox x:Name="_firstNumber" HorizontalAlignment="Left" Margin="414,370,0,0" TextWrapping="Wrap" Text="First Number" VerticalAlignment="Top" Height="32" Width="135" TextAlignment="Center"/> <TextBox x:Name="_secondNumber" HorizontalAlignment="Left" Margin="613,370,0,0" TextWrapping="Wrap" Text="Second Number" VerticalAlignment="Top" Height="32" Width="135" TextAlignment="Center"/> <Button Content="+" HorizontalAlignment="Left" Margin="557,301,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="-" HorizontalAlignment="Left" Margin="557,345,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="*" HorizontalAlignment="Left" Margin="557,389,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="/" HorizontalAlignment="Left" Margin="557,433,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="=" HorizontalAlignment="Left" Margin="755,367,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnResultsClick"/> <TextBox x:Name="_result" HorizontalAlignment="Left" Margin="809,370,0,0" TextWrapping="Wrap" Text="Result" VerticalAlignment="Top" Height="32" Width="163" TextAlignment="Center" IsReadOnly="True"/> </Grid> </Page>
Visual Basic
<Page x:Class="ArithmeticUI.MainPage" IsTabStop="False" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:SimpleMath" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <TextBox x:Name="_firstNumber" HorizontalAlignment="Left" Margin="414,370,0,0" TextWrapping="Wrap" Text="First Number" VerticalAlignment="Top" Height="32" Width="135" TextAlignment="Center"/> <TextBox x:Name="_secondNumber" HorizontalAlignment="Left" Margin="613,370,0,0" TextWrapping="Wrap" Text="Second Number" VerticalAlignment="Top" Height="32" Width="135" TextAlignment="Center"/> <Button Content="+" HorizontalAlignment="Left" Margin="557,301,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="-" HorizontalAlignment="Left" Margin="557,345,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="*" HorizontalAlignment="Left" Margin="557,389,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="/" HorizontalAlignment="Left" Margin="557,433,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnOperatorClick"/> <Button Content="=" HorizontalAlignment="Left" Margin="755,367,0,0" VerticalAlignment="Top" Height="39" Width="49" Click="OnResultsClick"/> <TextBox x:Name="_result" HorizontalAlignment="Left" Margin="809,370,0,0" TextWrapping="Wrap" Text="Result" VerticalAlignment="Top" Height="32" Width="163" TextAlignment="Center" IsReadOnly="True"/> </Grid> </Page>
Aktualizujte MainPage.xaml.cs tak, aby odpovídaly následujícímu kódu:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
namespace ArithmeticUI
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public static string operation = null;
public MainPage()
{
this.InitializeComponent();
}
/// <summary>
/// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
/// <summary>
/// Sets the operator chosen by the user
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnOperatorClick(object sender, RoutedEventArgs e)
{
operation = (sender as Button).Content.ToString();
}
/// <summary>
/// Calls the SimpleMath SDK to do simple arithmetic
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnResultsClick(object sender, RoutedEventArgs e)
{
try
{
float firstNumber = float.Parse(this._firstNumber.Text);
float secondNumber = float.Parse(this._secondNumber.Text);
SimpleMath.Arithmetic math = new SimpleMath.Arithmetic();
switch (operation)
{
case "+":
this._result.Text = (math.add(firstNumber, secondNumber)).ToString();
break;
case "-":
this._result.Text = (math.subtract(firstNumber, secondNumber)).ToString();
break;
case "*":
this._result.Text = (math.multiply(firstNumber, secondNumber)).ToString();
break;
case "/":
this._result.Text = (math.divide(firstNumber, secondNumber)).ToString();
break;
default:
this._result.Text = "Choose operator";
break;
}
}
catch
{
this._result.Text = "Enter valid #";
}
}
}
}
Zvolte klávesu F5 , aby se aplikace spustila.
V aplikaci zadejte libovolná dvě čísla, zvolte operaci a pak zvolte = tlačítko.
Zobrazí se správný výsledek.
Úspěšně jste vytvořili a použili sadu SDK rozšíření.