Aracılığıyla paylaş


İzlenecek yol: C# veya Visual Basic kullanarak SDK oluşturma

Bu kılavuzda, Visual C# kullanarak basit bir Matematik Kitaplığı SDK'sı oluşturmayı ve ardından SDK'yı Visual Studio Uzantısı (VSIX) olarak paketlemeyi öğreneceksiniz. Aşağıdaki yordamları tamamlayacaksınız:

Önkoşullar

Bu kılavuzu izlemek için Visual Studio SDK'sını yüklemeniz gerekir. Daha fazla bilgi için bkz . Visual Studio SDK'sı.

SimpleMath Windows Çalışma Zamanı bileşenini oluşturmak için

  1. Menü çubuğunda Dosya Yeni Proje'yi> seçin.>

  2. Şablon listesinde Visual C# veya Visual Basic'i genişletin, Windows Mağazası düğümünü seçin ve ardından Windows Çalışma Zamanı Bileşeni şablonunu seçin.

  3. Ad kutusunda SimpleMath öğesini belirtin ve ardından Tamam düğmesini seçin.

  4. Çözüm Gezgini'da SimpleMath proje düğümünün kısayol menüsünü açın ve özellikler'i seçin.

  5. Class1.cs Arithmetic.cs olarak yeniden adlandırın ve aşağıdaki kodla eşleşecek şekilde güncelleştirin:

    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. Çözüm Gezgini'da Çözüm 'SimpleMath' düğümünün kısayol menüsünü açın ve ardından Configuration Manager'ı seçin.

    Configuration Manager iletişim kutusu açılır.

  7. Etkin çözüm yapılandırması listesinde Yayın'ı seçin.

  8. Yapılandırma sütununda SimpleMath satırının Yayın olarak ayarlandığını doğrulayın ve ardından değişikliği kabul etmek için Kapat düğmesini seçin.

    Önemli

    SimpleMath bileşeninin SDK'sı yalnızca bir yapılandırma içerir. Bu yapılandırmanın yayın derlemesi olması gerekir; aksi durumda bileşeni kullanan uygulamalar Microsoft Store için sertifika geçiremez.

  9. Çözüm Gezgini SimpleMath proje düğümünün kısayol menüsünü açın ve ardından Oluştur'u seçin.

SimpleMathVSIX uzantı projesini oluşturmak için

  1. Çözüm 'SimpleMath' düğümünün kısayol menüsünde Yeni Proje Ekle'yi>seçin.

  2. Şablon listesinde Visual C# veya Visual Basic'i genişletin, Genişletilebilirlik düğümünü seçin ve ardından VSIX Projesi şablonunu seçin.

  3. Ad kutusunda SimpleMathVSIX öğesini belirtin ve ardından Tamam düğmesini seçin.

  4. Çözüm Gezgini'da source.extension.vsixmanifest öğesini seçin.

  5. Menü çubuğunda Kodu Görüntüle'yi>seçin.

  6. Var olan XML'yi aşağıdaki XML ile değiştirin:

    <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. Çözüm Gezgini SimpleMathVSIX projesini seçin.

  8. Menü çubuğunda Proje>Yeni Öğe Ekle'yi seçin.

  9. Ortak Öğeler listesinde Veri'yi genişletin ve XML Dosyası'nı seçin.

  10. Ad kutusunda öğesini belirtin SDKManifest.xmlve ekle düğmesini seçin.

  11. Çözüm Gezgini,içinSDKManifest.xml kısayol menüsünü açın, Özellikler'i seçin ve vsIX'e ekle özelliğinin değerini True olarak değiştirin.

  12. Dosyanın içeriğini aşağıdaki XML ile değiştirin:

    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. Çözüm Gezgini SimpleMathVSIX projesinin kısayol menüsünü açın, Ekle'yi ve ardından Yeni Klasör'e tıklayın.

  14. klasörü olarak referencesyeniden adlandırın.

  15. Başvurular klasörünün kısayol menüsünü açın, Ekle'yi ve ardından Yeni Klasör'e tıklayın.

  16. Alt klasörü olarak commonconfigurationyeniden adlandırın, içinde bir alt klasör oluşturun ve alt klasörü neutralolarak adlandırın.

  17. Önceki dört adımı yineleyin; bu kez ilk klasörü olarak yeniden adlandırın redist.

    Proje artık aşağıdaki klasör yapısını içerir:

    references\commonconfiguration\neutral
    redist\commonconfiguration\neutral
    
  18. Çözüm Gezgini'da SimpleMath projesinin kısayol menüsünü açın ve ardından klasörü Dosya Gezgini aç'ı seçin.

  19. Dosya Gezgini,bin\Release klasörüne gidin, SimpleMath.winmd dosyasının kısayol menüsünü açın ve kopyala'yı seçin.

  20. Çözüm Gezgini dosyasını SimpleMathVSIX projesindeki references\commonconfiguration\neutral klasörüne yapıştırın.

  21. SimpleMath.pri dosyasını SimpleMathVSIX projesindeki redist\commonconfiguration\neutral klasörüne yapıştırarak önceki adımı yineleyin.

  22. Çözüm Gezgini SimpleMath.winmd'yi seçin.

  23. Menü çubuğunda Görünüm>Özellikleri'ni seçin (Klavye: F4 tuşunu seçin).

  24. Özellikler penceresinde, Derleme Eylemi özelliğini İçerik olarak değiştirin ve ardından VSIX'e Ekle özelliğini True olarak değiştirin.

  25. Çözüm Gezgini'da SimpleMath.pri için bu işlemi yineleyin.

  26. Çözüm Gezgini SimpleMathVSIX projesini seçin.

  27. Menü çubuğunda Derleme>SimpleMathVSIX'i seçin.

  28. Çözüm Gezgini SimpleMathVSIX projesinin kısayol menüsünü açın ve Dosya Gezgini Klasörü Aç'ı seçin.

  29. Dosya Gezgini\bin\Release klasörüne gidin ve yüklemek için komutunu çalıştırınSimpleMathVSIX.vsix.

  30. Yükle düğmesini seçin, yüklemenin tamamlanmasını bekleyin ve ardından Visual Studio'yu yeniden başlatın.

Sınıf kitaplığını kullanan örnek bir uygulama oluşturmak için

  1. Menü çubuğunda Dosya Yeni Proje'yi> seçin.>

  2. Şablon listesinde Visual C# veya Visual Basic'i genişletin ve ardından Windows Mağazası düğümünü seçin.

  3. Boş Uygulama şablonunu seçin, projeyi AritmetikUI olarak adlandırın ve ardından Tamam düğmesini seçin.

  4. Çözüm Gezgini'de AritmeticUI projesinin kısayol menüsünü açın ve ardından Başvuru Ekle'yi>seçin.

  5. Başvuru türleri listesinde Windows'u genişletin ve uzantılar'ı seçin.

  6. Ayrıntılar bölmesinde WinRT Matematik Kitaplığı uzantısını seçin.

    SDK'nız hakkında ek bilgiler görüntülenir. Daha önce bu kılavuzun önceki bölümlerinde SDKManifest.xml dosyasında belirttiğiniz gibi, dosyasını açmak https://msdn.microsoft.com/için Daha Fazla Bilgi bağlantısını seçebilirsiniz.

  7. Başvuru Yöneticisi iletişim kutusunda WinRT Matematik Kitaplığı onay kutusunu seçin ve ardından Tamam düğmesini seçin.

  8. Menü çubuğunda Nesne Tarayıcısını Görüntüle'yi>seçin.

  9. Gözat listesinde Basit Matematik'i seçin.

    Artık SDK'da neler olduğunu keşfedebilirsiniz.

  10. Çözüm Gezgini mainpage.xaml dosyasını açın ve içeriğini aşağıdaki XAML ile değiştirin:

    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. MainPage.xaml.cs aşağıdaki kodla eşleşecek şekilde güncelleştirin:

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. Uygulamayı çalıştırmak için F5 tuşunu seçin.

  2. Uygulamaya iki sayı girin, bir işlem seçin ve ardından düğmeyi = seçin.

    Doğru sonuç görüntülenir.

    Başarıyla bir Uzantı SDK'sı oluşturdunuz ve kullandınız.