This topic provides a step-by-step introduction to building tpk using Tizen.NET.Sdk
in dotnet cli.
Tizen.NET.Sdk
provide a feature of tpk packaging and signing.
If Tizen .NET Core project refers to the Tizen.NET.Sdk
package, TPK file will be created.
-
Install dotnet core (>=2.0)
- Install Guide : https://www.microsoft.com/net/core
-
Add feed to Nuget.config to restore
Tizen.NET.Sdk
- NuGet.Config file location : https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior#config-file-locations-and-uses
- Develop channel : https://tizen.myget.org/F/dotnet/api/v3/index.json
<configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="TizenMyGET" value="https://tizen.myget.org/F/dotnet/api/v3/index.json" /> </packageSources> </configuration>
-
Create Console Project
$dotnet new console -n testconsole
-
Add PackageReference
Tizen.NET.Sdk
<ItemGroup> <PackageReference Include="Tizen.NET.Sdk" Version="1.0.0-pre1" /> </ItemGroup>
or
$dotnet add package Tizen.NET.Sdk --version 1.0.0-pre1 --source https://tizen.myget.org/F/dotnet/api/v3/index.json
-
Create the
tizen-manifest.xml
file at project root directory<?xml version="1.0" encoding="utf-8"?> <manifest xmlns="http://tizen.org/ns/packages" api-version="4" package="org.tizen.example.testconsole" version="1.0.0"> <profile name="common" /> <ui-application appid="org.tizen.example.testconsole" exec="testconsole.dll" type="dotnet" multiple="false" taskmanage="true" nodisplay="false" launch_mode="single"> <label>TestConsol</label> <icon>TestConsol.png</icon> </ui-application> </manifest>
-
Build Project (with Default Certificates)
$ dotnet build Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core Copyright (C) Microsoft Corporation. All rights reserved. testconsole -> /home/tizensdk/develop/testconsole/bin/Debug/netcoreapp2.0/testconsole.dll testconsole -> /home/tizensdk/develop/testconsole/bin/Debug/netcoreapp2.0/org.tizen.example.testconsole-1.0.0.tpk Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.16
-
Output Directory
$ tree ./bin bin └── Debug └── netcoreapp2.0 ├── org.tizen.example.testconsole-1.0.0.tpk ├── testconsole.deps.json ├── testconsole.dll ├── testconsole.pdb ├── testconsole.runtimeconfig.dev.json ├── testconsole.runtimeconfig.json └── tpkroot ├── author-signature.xml ├── bin │ ├── testconsole.dll │ └── testconsole.pdb ├── lib ├── res ├── shared │ └── res ├── signature1.xml └── tizen-manifest.xml
- Build Project (with User Certificate Property)
$ dotnet clean $ dotnet build /p:"AuthorPath=abc.p12;AuthorPass=test" /p:"DistributorPath=def.p12;DistributorPass=hello"
INFO : you can also set certificate information .csproj file
<PropertyGroup> <AuthorPath>author_test.p12</AuthorPath> <AuthorPass>author_test</AuthorPass> <DistributorPath>tizen-distributor-signer.p12</DistributorPath> <DistributorPass>tizenpkcs12passfordsigner</DistributorPass> </PropertyGroup>