Using Tizen.NET.Sdk as SDK-style
Wonyoung Choi
Staff Engineer
Tizen.NET.Sdk is a NuGet package that provides the features for creating and signing a .tpk package file. Previously, this package was added to the .csproj file as a PackageReference. In this post, I introduce a new method that was added to this package.
Using SDK-style
Tizen.NET.Sdk 1.0.8 can be used as a custom MSBuild SDK.
<Project Sdk="Tizen.NET.Sdk/1.0.8">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>tizen60</TargetFramework>
</PropertyGroup>
</Project>
Tizen.NET.Sdk resolves the Tizen target frameworks and adds a PackageReference for Tizen.NET implicitly, so there is no need to declare any PackageReference to use Tizen.NET and Tizen.NET.Sdk. Use Tizen.NET.Sdk instead of Microsoft.NET.Sdk in the Sdk attribute of the top-level Project element.

Specify the Tizen.NET package version
In Tizen.NET.Sdk 1.0.8, Tizen.NET 6.0.0.14995 is implicitly added as PackageReference. If you want to specify the version of Tizen.NET, use the TizenNetPackageVersion property.
<Project Sdk="Tizen.NET.Sdk/1.0.8">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>tizen40</TargetFramework>
<TizenNetPackageVersion>4.0.0</TizenNetPackageVersion>
</PropertyGroup>
</Project>

Disable the implict reference of Tizen .NET
Set DisableImplicitFrameworkReferences property to True if you want to disable the implict reference of the Tizen.NET package.
In this case, you must add PackageReference of Tizen.NET manually.
<Project Sdk="Tizen.NET.Sdk/1.0.8">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>tizen60</TargetFramework>
<DisableImplicitFrameworkReferences>True</DisableImplicitFrameworkReferences>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Tizen.NET" Version="6.0.0.14995" />
</ItemGroup>
</Project>
Manual migration
If you are using the Tizen.NET.Sdk in a PackageReference style, you can migrate your .csproj file manually, as shown below:
- <Project Sdk="Microsoft.NET.Sdk">
+ <Project Sdk="Tizen.NET.Sdk/1.0.8">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>tizen40</TargetFramework>
</PropertyGroup>
- <ItemGroup>
- <PackageReference Include="Tizen.NET" Version="5.0.0.14629" />
- <PackageReference Include="Tizen.NET.Sdk" Version="1.0.1" />
- </ItemGroup>
</Project>
Use as in previous versions
Of course, you can use Tizen.NET.Sdk as you did prior to version 1.0.3. However, there is problem in VS2019 (see dotnet/project-system#4854). To avoid this problem, add the TargetFrameworkIdentifier property explicitly.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>tizen60</TargetFramework>
<!- Workaround for dotnet/project-system#4854 -->
<TargetFrameworkIdentifier>Tizen</TargetFrameworkIdentifier>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Tizen.NET" Version="6.0.0.14995" />
<PackageReference Include="Tizen.NET.Sdk" Version="1.0.8" />
</ItemGroup>
</Project>
References
For more information, check out the following documentation: