Panduan: Membuat SDK menggunakan C# atau Visual Basic
Dalam panduan ini, Anda akan mempelajari cara membuat SDK Pustaka Matematika sederhana dengan menggunakan Visual C# lalu mengemas SDK sebagai Ekstensi Visual Studio (VSIX). Anda akan menyelesaikan prosedur berikut:
Prasyarat
Untuk mengikuti panduan ini, Anda harus menginstal Visual Studio SDK. Untuk informasi selengkapnya, lihat Visual Studio SDK.
Untuk membuat komponen SimpleMath Windows Runtime
Dari bilah menu, pilih File>New>Project.
Dalam daftar templat, perluas Visual C# atau Visual Basic, pilih simpul Windows Store , lalu pilih templat Komponen Runtime Windows.
Dalam kotak Nama , tentukan SimpleMath, lalu pilih tombol OK .
Di Penjelajah Solusi, buka menu pintasan untuk simpul proyek SimpleMath, lalu pilih Properti.
Ganti nama Class1.cs menjadi Arithmetic.cs dan perbarui agar sesuai dengan kode berikut:
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); } } }
Di Penjelajah Solusi, buka menu pintasan untuk node Solusi 'SimpleMath', lalu pilih Configuration Manager.
Kotak dialog Configuration Manager terbuka.
Di daftar Konfigurasi solusi aktif, pilih Rilis.
Di kolom Konfigurasi, verifikasi bahwa baris SimpleMath diatur ke Rilis, lalu pilih tombol Tutup untuk menerima perubahan.
Penting
SDK untuk komponen SimpleMath hanya mencakup satu konfigurasi. Konfigurasi ini harus berupa build rilis, atau aplikasi yang menggunakan komponen tidak akan lulus sertifikasi untuk Microsoft Store.
Di Penjelajah Solusi, buka menu pintasan untuk simpul proyek SimpleMath, lalu pilih Bangun.
Untuk membuat proyek ekstensi SimpleMathVSIX
Pada menu pintasan untuk node Solusi 'SimpleMath', pilih Tambahkan>Proyek Baru.
Dalam daftar templat, perluas Visual C# atau Visual Basic, pilih simpul Ekstensibilitas , lalu pilih templat Proyek VSIX.
Dalam kotak Nama , tentukan SimpleMathVSIX, lalu pilih tombol OK .
Di Penjelajah Solusi, pilih item source.extension.vsixmanifest.
Pada bilah menu, pilih Tampilkan>Kode.
Ganti XML yang sudah ada dengan XML berikut:
<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>
Di Penjelajah Solusi, pilih proyek SimpleMathVSIX.
Pada bilah menu, pilih Project>Add New Item.
Dalam daftar Item Umum, perluas Data, lalu pilih File XML.
Dalam kotak Nama , tentukan
SDKManifest.xml
, lalu pilih tombol Tambahkan .Di Penjelajah Solusi, buka menu pintasan untuk
SDKManifest.xml
, pilih Properti, lalu ubah nilai properti Sertakan di VSIX menjadi True.Ganti konten file dengan XML berikut:
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>
Di Penjelajah Solusi, buka menu pintasan untuk proyek SimpleMathVSIX, pilih Tambahkan, lalu pilih Folder Baru.
Ubah nama folder menjadi
references
.Buka menu pintasan untuk folder Referensi , pilih Tambahkan, lalu pilih Folder Baru.
Ganti nama subfolder menjadi
commonconfiguration
, buat subfolder di dalamnya, dan beri nama subfolderneutral
.Ulangi empat langkah sebelumnya, kali ini mengganti nama folder pertama menjadi
redist
.Proyek sekarang berisi struktur folder berikut:
references\commonconfiguration\neutral redist\commonconfiguration\neutral
Di Penjelajah Solusi, buka menu pintasan untuk proyek SimpleMath, lalu pilih Buka Folder di File Explorer.
Di File Explorer, navigasikan ke folder bin\Release , buka menu pintasan untuk file SimpleMath.winmd , lalu pilih Salin.
Dalam Penjelajah Solusi, tempelkan file ke dalam folder references\commonconfiguration\netral di proyek SimpleMathVSIX.
Ulangi langkah sebelumnya, tempelkan file SimpleMath.pri ke folder redist\commonconfiguration\netral dalam proyek SimpleMathVSIX .
Di Penjelajah Solusi, pilih SimpleMath.winmd.
Pada bilah menu, pilih Tampilkan>Properti (Keyboard: Pilih tombol F4).
Di jendela Properti , ubah properti Tindakan Build menjadi Konten, lalu ubah properti Sertakan di VSIX menjadi True.
Dalam Penjelajah Solusi, ulangi proses ini untuk SimpleMath.pri.
Di Penjelajah Solusi, pilih proyek SimpleMathVSIX.
Pada bilah menu, pilih Bangun SimpleMathVSIX>.
Di Penjelajah Solusi, buka menu pintasan untuk proyek SimpleMathVSIX, lalu pilih Buka Folder di File Explorer.
Di File Explorer, navigasikan ke \bin\Release folder, lalu jalankan
SimpleMathVSIX.vsix
untuk menginstalnya.Pilih tombol Instal , tunggu hingga penginstalan selesai, lalu mulai ulang Visual Studio.
Untuk membuat aplikasi sampel yang menggunakan pustaka kelas
Dari bilah menu, pilih File>New>Project.
Dalam daftar templat, perluas Visual C# atau Visual Basic, lalu pilih simpul Windows Store .
Pilih templat Aplikasi Kosong, beri nama proyek ArithmeticUI, lalu pilih tombol OK.
Di Penjelajah Solusi, buka menu pintasan untuk proyek AritmeticUI, lalu pilih Tambahkan>Referensi.
Dalam daftar jenis referensi, perluas Windows, lalu pilih Ekstensi.
Di panel detail, pilih ekstensi Pustaka Matematika WinRT.
Informasi tambahan tentang SDK Anda muncul. Anda dapat memilih tautan Informasi Selengkapnya untuk membuka
https://msdn.microsoft.com/
, seperti yang Anda tentukan dalam file SDKManifest.xml sebelumnya dalam panduan ini.Dalam kotak dialog Manajer Referensi, pilih kotak centang Pustaka Matematika WinRT, lalu pilih tombol OK .
Pada bilah menu, pilih Tampilkan>Browser Objek.
Di daftar Telusuri, pilih Matematika Sederhana.
Anda sekarang dapat menjelajahi apa yang ada di SDK.
Di Penjelajah Solusi, buka MainPage.xaml, dan ganti kontennya dengan XAML berikut:
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>
Perbarui MainPage.xaml.cs agar sesuai dengan kode berikut:
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 #";
}
}
}
}
Pilih kunci F5 untuk menjalankan aplikasi.
Di aplikasi, masukkan dua angka apa pun, pilih operasi, lalu pilih tombol = .
Hasil yang benar muncul.
Anda telah berhasil membuat dan menggunakan Extension SDK.