Sdílet prostřednictvím


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

  1. Na řádku nabídek zvolte Soubor>nový>projekt.

  2. V seznamu šablon rozbalte Visual C# nebo Visual Basic, zvolte uzel Windows Store a pak zvolte šablonu komponenty prostředí Windows Runtime.

  3. V poli Název zadejte SimpleMath a pak zvolte tlačítko OK .

  4. V Průzkumník řešení otevřete místní nabídku pro uzel projektu SimpleMath a pak zvolte Vlastnosti.

  5. 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);
            }
        }
    }
    
  6. 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 .

  7. V seznamu konfigurace aktivního řešení zvolte Verze.

  8. 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.

  9. 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

  1. V místní nabídce uzlu Řešení SimpleMath zvolte Přidat>nový projekt.

  2. V seznamu šablon rozbalte Visual C# nebo Visual Basic, zvolte uzel rozšiřitelnosti a pak zvolte šablonu projektu VSIX.

  3. Do pole Název zadejte SimpleMathVSIX a pak zvolte tlačítko OK.

  4. V Průzkumník řešení zvolte položku source.extension.vsixmanifest.

  5. Na řádku nabídek zvolte Zobrazit>kód.

  6. 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>
    
  7. V Průzkumník řešení zvolte projekt SimpleMathVSIX.

  8. Na řádku nabídek zvolte Přidat novou položku projektu>.

  9. V seznamu Společných položek rozbalte položku Data a pak zvolte Soubor XML.

  10. Do pole Název zadejte SDKManifest.xmla pak zvolte tlačítko Přidat.

  11. 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.

  12. 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>
    
  13. V Průzkumník řešení otevřete místní nabídku projektu SimpleMathVSIX, zvolte Přidat a pak zvolte Nová složka.

  14. Přejmenujte složku na references.

  15. Otevřete místní nabídku složky Reference , zvolte Přidat a pak zvolte Nová složka.

  16. Přejmenujte podsložku na commonconfiguration, vytvořte v ní podsložku a pojmenujte ji neutral.

  17. 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
    
  18. 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ů.

  19. 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.

  20. V Průzkumník řešení vložte soubor do složky references\commonconfiguration\neutral v projektu SimpleMathVSIX.

  21. Opakujte předchozí krok a vložte soubor SimpleMath.pri do složky redist\commonconfiguration\neutral v projektu SimpleMathVSIX .

  22. V Průzkumník řešení zvolte SimpleMath.winmd.

  23. Na řádku nabídek zvolte Zobrazit>vlastnosti (klávesnice: Zvolte klávesu F4).

  24. V okně Vlastnosti změňte vlastnost Akce sestavení na Obsah a potom změňte include v VSIX vlastnost na True.

  25. V Průzkumník řešení tento proces opakujte pro SimpleMath.pri.

  26. V Průzkumník řešení zvolte projekt SimpleMathVSIX.

  27. Na řádku nabídek zvolte Sestavit SimpleMathVSIX>.

  28. 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ů.

  29. V Průzkumník souborů přejděte do složky \bin\Release a spusťte SimpleMathVSIX.vsix instalaci.

  30. 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

  1. Na řádku nabídek zvolte Soubor>nový>projekt.

  2. V seznamu šablon rozbalte Visual C# nebo Visual Basic a pak zvolte uzel Windows Store .

  3. Zvolte šablonu Prázdná aplikace, pojmenujte projekt AritmeticUI a pak zvolte tlačítko OK.

  4. V Průzkumník řešení otevřete místní nabídku projektu AritmeticUI a pak zvolte Přidat>odkaz.

  5. V seznamu typů odkazů rozbalte Windows a pak zvolte Rozšíření.

  6. 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.

  7. V dialogovém okně Správce odkazů zaškrtněte políčko Matematické knihovny WinRT a pak zvolte tlačítko OK .

  8. Na řádku nabídek zvolte Zobrazit>prohlížeč objektů.

  9. V seznamu Procházet zvolte Jednoduchá matematika.

    Teď můžete prozkoumat, co je v sadě SDK.

  10. 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>
    
  11. 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 #";
            }
        }
    }
}
  1. Zvolte klávesu F5 , aby se aplikace spustila.

  2. 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í.