Fix project files to support netstandard 1.6
authorWonYoung Choi <wy80.choi@samsung.com>
Mon, 5 Sep 2016 09:21:05 +0000 (18:21 +0900)
committerWonYoung Choi <wy80.choi@samsung.com>
Mon, 5 Sep 2016 09:21:40 +0000 (18:21 +0900)
Change-Id: I4d71046be3d14c34fba669bdf6067f236bbb58ac
Signed-off-by: WonYoung Choi <wy80.choi@samsung.com>
19 files changed:
.gitignore [new file with mode: 0755]
packaging/csapi-security.spec
src/Tizen.Security.SecureRepository/CustomDictionary.xml [deleted file]
src/Tizen.Security.SecureRepository/GlobalSuppressions.cs [deleted file]
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.Net45.csproj [new file with mode: 0644]
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.Net45.project.json [new file with mode: 0644]
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.csproj
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.nuspec [new file with mode: 0644]
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.project.json [new file with mode: 0644]
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Crypto/SignatureParameters.cs
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Key.cs
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/SafeAliasListHandle.cs
src/Tizen.Security/CustomDictionary.xml [deleted file]
src/Tizen.Security/GlobalSuppressions.cs [deleted file]
src/Tizen.Security/Tizen.Security.Net45.csproj [new file with mode: 0644]
src/Tizen.Security/Tizen.Security.Net45.project.json [new file with mode: 0644]
src/Tizen.Security/Tizen.Security.csproj
src/Tizen.Security/Tizen.Security.nuspec [new file with mode: 0644]
src/Tizen.Security/Tizen.Security.project.json [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100755 (executable)
index 0000000..46619d5
--- /dev/null
@@ -0,0 +1,7 @@
+bin/
+obj/
+*.exe
+*.dll
+*.csproj.user
+*.lock.json
+.vs/
index 9deeafc..7bc947b 100644 (file)
@@ -1,4 +1,5 @@
-%{!?dotnet_assembly_path: %define dotnet_assembly_path %{_datadir}/assembly}
+%{!?dotnet_assembly_path: %define dotnet_assembly_path /opt/usr/share/dotnet.tizen/framework}
+%{!?dotnet_core_path: %define dotnet_core_path %{_datadir}/tizen.net/ref}
 
 %if 0%{?tizen_build_devel_mode}
 %define BUILDCONF Debug
@@ -20,47 +21,91 @@ Source1:    %{name}.manifest
 BuildRequires: mono-compiler
 BuildRequires: mono-devel
 
-# C# API default dependencies
-BuildRequires: csapi-tizen
-BuildRequires: pkgconfig(glib-2.0)
+# .NETCore
+%if 0%{?_with_corefx}
+AutoReqProv: no
+BuildRequires: corefx-managed-32b-ref
+%endif
 
-# privilege-info
-BuildRequires: csapi-application
-BuildRequires: pkgconfig(privilege-info)
+BuildRequires: dotnet-build-tools
 
-# key-manager
-BuildRequires: pkgconfig(key-manager)
+# C# API Requires
+BuildRequires: csapi-tizen-devel
+BuildRequires: csapi-application-devel
 
 %description
 Tizen Security API for C#
 
 %prep
 %setup -q
-
 cp %{SOURCE1} .
 
 %define Assemblies Tizen.Security Tizen.Security.SecureRepository
 
 %build
+# Build for Net45
 for ASM in %{Assemblies}; do
-xbuild $ASM/$ASM.csproj \
-    /p:Configuration=%{BUILDCONF} \
-    /p:ReferencePath=%{dotnet_assembly_path}
+if [ -e $ASM/$ASM.Net45.csproj ]; then
+  xbuild $ASM/$ASM.Net45.csproj \
+         /p:Configuration=%{BUILDCONF} \
+         /p:DotnetAssemblyPath=%{dotnet_assembly_path}/devel/net45 \
+         /p:OutputPath=bin/net45
+fi
+
+# Build for Dotnet
+%if 0%{?_with_corefx}
+if [ -e $ASM/$ASM.csproj ]; then
+  xbuild $ASM/$ASM.csproj \
+         /p:Configuration=%{BUILDCONF} \
+         /p:DotnetAssemblyPath=%{dotnet_assembly_path}/devel/netstandard1.6 \
+         /p:CoreFxPath=%{dotnet_core_path} \
+         /p:OutputPath=bin/netstandard1.6
+fi
+%endif
+
+# Make NuGet package
+dotnet-gbs pack $ASM/$ASM.nuspec --PackageVersion=%{version} --PackageFiles=$ASM/bin
+
 done
 
 %install
-# Assemblies
-mkdir -p %{buildroot}%{dotnet_assembly_path}
+mkdir -p %{buildroot}%{dotnet_assembly_path}/devel
 for ASM in %{Assemblies}; do
-    install -p -m 644 $ASM/bin/%{BUILDCONF}/$ASM.dll %{buildroot}%{dotnet_assembly_path}
+  cp -fr $ASM/bin/* %{buildroot}%{dotnet_assembly_path}/devel
+%if 0%{?_with_corefx}
+  install -p -m 644 $ASM/bin/netstandard1.6/$ASM.dll %{buildroot}%{dotnet_assembly_path}
+%else
+  install -p -m 644 $ASM/bin/net45/$ASM.dll %{buildroot}%{dotnet_assembly_path}
+%endif
 done
 
-# License
-mkdir -p %{buildroot}%{_datadir}/license
-cp LICENSE %{buildroot}%{_datadir}/license/%{name}
+mkdir -p %{buildroot}/nuget
+install -p -m 644 *.nupkg %{buildroot}/nuget
 
 %files
 %manifest %{name}.manifest
-%attr(644,root,root) %{dotnet_assembly_path}/Tizen.Security.dll
-%attr(644,root,root) %{dotnet_assembly_path}/Tizen.Security.SecureRepository.dll
-%attr(644,root,root) %{_datadir}/license/%{name}
+%license LICENSE
+%attr(644,root,root) %{dotnet_assembly_path}/*.dll
+
+%package devel
+Summary:   Development package for %{name}
+Group:     Development/Libraries
+Requires:  %{name} = %{version}-%{release}
+AutoReqProv: no
+
+%description devel
+Development package for %{name}
+
+%files devel
+%{dotnet_assembly_path}/devel/*
+
+%package nuget
+Summary:   NuGet package for %{name}
+Group:     Development/Libraries
+Requires:  %{name} = %{version}-%{release}
+
+%description nuget
+NuGet package for %{name}
+
+%files nuget
+/nuget/*.nupkg
diff --git a/src/Tizen.Security.SecureRepository/CustomDictionary.xml b/src/Tizen.Security.SecureRepository/CustomDictionary.xml
deleted file mode 100644 (file)
index 6f47373..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<Dictionary>
-  <Words>
-    <Recognized>
-      <Word>Tizen</Word>
-      <Word>Security</Word>
-      <Word>SecureRepository</Word>
-    </Recognized>
-  </Words>
-</Dictionary>
diff --git a/src/Tizen.Security.SecureRepository/GlobalSuppressions.cs b/src/Tizen.Security.SecureRepository/GlobalSuppressions.cs
deleted file mode 100644 (file)
index 737b2cb..0000000
Binary files a/src/Tizen.Security.SecureRepository/GlobalSuppressions.cs and /dev/null differ
diff --git a/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.Net45.csproj b/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.Net45.csproj
new file mode 100644 (file)
index 0000000..06e14e0
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProjectGuid>{623F22DD-A293-4CDA-9D70-BEF655A59D62}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Tizen.Security.SecureRepository</AssemblyName>\r
+    <FileAlignment>512</FileAlignment>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\Net45\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <DocumentationFile>bin\Debug\Tizen.Security.SecureRepository.XML</DocumentationFile>\r
+    <CodeAnalysisRuleSet>ExtendedDesignGuidelineRules.ruleset</CodeAnalysisRuleSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\Net45\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>Tizen.Security.SecureRepository.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Compile Include="Interop\Interop.CkmcErrors.cs" />\r
+    <Compile Include="Interop\Interop.CkmcManager.cs" />\r
+    <Compile Include="Interop\Interop.CkmcTypes.cs" />\r
+    <Compile Include="Interop\Interop.Libraries.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Certificate.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\CertificateManager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCbcCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCfbCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCtrCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesGcmCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\Cipher.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherAlgorithmType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherParameterName.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\DsaSignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\EcdsaSignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\HashAlgorithm.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaOaepParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaPaddingAlgorithm.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaSignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\Signature.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureAlgorithmType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureParameterName.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\DataFormat.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\DataManager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\EllipticCurveType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Key.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\KeyManager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\KeyType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Manager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\OcspStatus.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Permission.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\PinnedObject.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Pkcs12.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Pkcs12Manager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Policy.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\SafeAliasListHandle.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\SafeCertificateListHandle.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\SafeRawBufferHandle.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="Tizen.Security.SecureRepository.nuspec" />\r
+    <None Include="Tizen.Security.SecureRepository.Net45.project.json" />\r
+    <None Include="Tizen.Security.SecureRepository.snk" />\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets" Condition="Exists('$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets')" />\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->\r
+</Project>
\ No newline at end of file
diff --git a/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.Net45.project.json b/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.Net45.project.json
new file mode 100644 (file)
index 0000000..d9af4f0
--- /dev/null
@@ -0,0 +1,11 @@
+{
+  "dependencies": {
+    "Tizen": "1.0.0"
+  },
+  "frameworks": {
+    "net45": {}
+  },
+  "runtimes": {
+    "win": {}
+  }
+}
index dd55ee1..83bf05e 100644 (file)
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <AssemblyName>Tizen.Security.SecureRepository</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <ProductVersion>10.0.0</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{0EA0E64F-637A-480A-8746-4ACC1B0FE022}</ProjectGuid>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DocumentationFile>bin\Debug\Tizen.Security.SecureRepository.XML</DocumentationFile>
-    <CodeAnalysisRuleSet>ExtendedDesignGuidelineRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>Tizen.Security.SecureRepository.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Xml" />
-    <Reference Include="Tizen.Internals">
-      <HintPath>..\..\tizen\Tizen.Internals\bin\Debug\Tizen.Internals.dll</HintPath>
-    </Reference>
-    <Reference Include="Tizen">
-      <HintPath>..\..\tizen\Tizen\bin\Debug\Tizen.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Interop\Interop.CkmcErrors.cs" />
-    <Compile Include="Interop\Interop.CkmcManager.cs" />
-    <Compile Include="Interop\Interop.CkmcTypes.cs" />
-    <Compile Include="Interop\Interop.Libraries.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Certificate.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\CertificateManager.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCbcCipherParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCfbCipherParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCipherParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCtrCipherParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesGcmCipherParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\Cipher.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherAlgorithmType.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherParameterName.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\DsaSignatureParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\EcdsaSignatureParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\HashAlgorithm.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaOaepParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaPaddingAlgorithm.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaSignatureParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\Signature.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureAlgorithmType.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureParameterName.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureParameters.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\DataFormat.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\DataManager.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\EllipticCurveType.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Key.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\KeyManager.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\KeyType.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Manager.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\OcspStatus.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Permission.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\PinnedObject.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Pkcs12.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Pkcs12Manager.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\Policy.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\SafeAliasListHandle.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\SafeCertificateListHandle.cs" />
-    <Compile Include="Tizen.Security.SecureRepository\SafeRawBufferHandle.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Tizen.Security.SecureRepository.snk" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProjectGuid>{3D811DEE-9FD9-4534-BD3C-A7C31C3B9EF7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Tizen.Security.SecureRepository</AssemblyName>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>\r
+    <TargetFrameworkVersion>v1.6</TargetFrameworkVersion>\r
+    <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+    <NoStdLib>true</NoStdLib>\r
+    <NoWarn>$(NoWarn);1701;1702</NoWarn>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <DocumentationFile>bin\Debug\Tizen.Security.SecureRepository.XML</DocumentationFile>\r
+    <CodeAnalysisRuleSet>ExtendedDesignGuidelineRules.ruleset</CodeAnalysisRuleSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>Tizen.Security.SecureRepository.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Compile Include="Interop\Interop.CkmcErrors.cs" />\r
+    <Compile Include="Interop\Interop.CkmcManager.cs" />\r
+    <Compile Include="Interop\Interop.CkmcTypes.cs" />\r
+    <Compile Include="Interop\Interop.Libraries.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Certificate.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\CertificateManager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCbcCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCfbCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesCtrCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\AesGcmCipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\Cipher.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherAlgorithmType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherParameterName.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\CipherParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\DsaSignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\EcdsaSignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\HashAlgorithm.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaOaepParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaPaddingAlgorithm.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\RsaSignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\Signature.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureAlgorithmType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureParameterName.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Crypto\SignatureParameters.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\DataFormat.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\DataManager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\EllipticCurveType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Key.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\KeyManager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\KeyType.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Manager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\OcspStatus.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Permission.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\PinnedObject.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Pkcs12.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Pkcs12Manager.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\Policy.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\SafeAliasListHandle.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\SafeCertificateListHandle.cs" />\r
+    <Compile Include="Tizen.Security.SecureRepository\SafeRawBufferHandle.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="Tizen.Security.SecureRepository.nuspec" />\r
+    <None Include="Tizen.Security.SecureRepository.project.json" />\r
+    <None Include="Tizen.Security.SecureRepository.snk" />\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets" Condition="Exists('$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets')" />\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">
   </Target>
   <Target Name="AfterBuild">
   </Target>
-  -->
-</Project>
+  -->\r
+  <PropertyGroup>\r
+    <!-- https://github.com/dotnet/corefxlab/tree/master/samples/NetCoreSample and
+       https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
+    -->\r
+    <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two
+       properties to any folder that exists to skip the GetReferenceAssemblyPaths task (not target) and
+       to prevent it from outputting a warning (MSB3644).
+    -->\r
+    <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>\r
+    <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>\r
+    <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>\r
+  </PropertyGroup>\r
+</Project>
\ No newline at end of file
diff --git a/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.nuspec b/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.nuspec
new file mode 100644 (file)
index 0000000..ab14369
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<package>
+  <metadata>
+               <id>Tizen.Security.SecureRepository</id>
+               <version>$version$</version>
+               <authors>Tizen Developers</authors>
+               <description>SecureRepository API for Tizen.Net</description>
+    <dependencies>
+      <dependency id="Tizen" version="1.0.0" />
+    </dependencies>
+       </metadata>
+</package>
diff --git a/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.project.json b/src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.project.json
new file mode 100644 (file)
index 0000000..beb9e15
--- /dev/null
@@ -0,0 +1,12 @@
+{
+  "dependencies": {
+    "NETStandard.Library": "1.6.0",
+    "Tizen": "1.0.0"
+  },
+  "frameworks": {
+    "netstandard1.6": {}
+  },
+  "runtimes": {
+    "win": {}
+  }
+}
index 7acc37b..13e54eb 100644 (file)
@@ -15,7 +15,7 @@
  */
 
 using System;
-using System.Collections;
+using System.Collections.Generic;
 
 namespace Tizen.Security.SecureRepository.Crypto
 {
@@ -24,7 +24,7 @@ namespace Tizen.Security.SecureRepository.Crypto
     /// </summary>
     abstract public class SignatureParameters
     {
-        private Hashtable _parameters;
+        private Dictionary<SignatureParameterName, int> _parameters;
 
         /// <summary>
         /// A constructor with algorithm
@@ -32,7 +32,7 @@ namespace Tizen.Security.SecureRepository.Crypto
         /// <param name="algorithm">An algorithm that this parameters are prepared for.</param>
         protected SignatureParameters(SignatureAlgorithmType algorithm)
         {
-            _parameters = new Hashtable();
+            _parameters = new Dictionary<SignatureParameterName, int>();
             Add(SignatureParameterName.AlgorithmType, (int)algorithm);
         }
 
@@ -60,7 +60,7 @@ namespace Tizen.Security.SecureRepository.Crypto
         /// <param name="value">Parameter value.</param>
         internal void Add(SignatureParameterName name, int value)
         {
-            _parameters.Add((int)name, value);
+            _parameters.Add(name, value);
         }
 
         /// <summary>
@@ -69,8 +69,8 @@ namespace Tizen.Security.SecureRepository.Crypto
         /// <param name="name">Parameter name.</param>
         internal int Get(SignatureParameterName name)
         {
-            if (_parameters.ContainsKey((int)name))
-                return (int)_parameters[(int)name];
+            if (_parameters.ContainsKey(name))
+                return _parameters[name];
             else
                 throw new ArgumentException("No parameter for a given SignatureParameterName ");
         }
index 00ae581..6e6ebdf 100644 (file)
@@ -47,7 +47,7 @@ namespace Tizen.Security.SecureRepository
             Binary = new byte[ckmcKey.size];
             Marshal.Copy(ckmcKey.rawKey, Binary, 0, Binary.Length);
             Type = (KeyType)ckmcKey.keyType;
-            BinaryPassword = Marshal.PtrToStringAuto(ckmcKey.password);
+            BinaryPassword = Marshal.PtrToStringAnsi(ckmcKey.password);
         }
 
         /// <summary>
index fb57c56..8da2127 100644 (file)
@@ -31,7 +31,7 @@ namespace Tizen.Security.SecureRepository
             while (ptrAliases != IntPtr.Zero)
             {
                 CkmcAliasList ckmcAliasList = (CkmcAliasList)Marshal.PtrToStructure(ptrAliases, typeof(CkmcAliasList));
-                aliases.Add(Marshal.PtrToStringAuto(ckmcAliasList.alias));
+                aliases.Add(Marshal.PtrToStringAnsi(ckmcAliasList.alias));
                 ptrAliases = ckmcAliasList.next;
             }
 
diff --git a/src/Tizen.Security/CustomDictionary.xml b/src/Tizen.Security/CustomDictionary.xml
deleted file mode 100644 (file)
index 29be2d0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<Dictionary>
-  <Words>
-    <Recognized>
-      <Word>Tizen</Word>
-      <Word>Security</Word>
-      <Word>Privilege</Word>
-    </Recognized>
-  </Words>
-</Dictionary>
diff --git a/src/Tizen.Security/GlobalSuppressions.cs b/src/Tizen.Security/GlobalSuppressions.cs
deleted file mode 100644 (file)
index 737b2cb..0000000
Binary files a/src/Tizen.Security/GlobalSuppressions.cs and /dev/null differ
diff --git a/src/Tizen.Security/Tizen.Security.Net45.csproj b/src/Tizen.Security/Tizen.Security.Net45.csproj
new file mode 100644 (file)
index 0000000..26c8ca3
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProjectGuid>{8C16EA6A-163E-4277-8FA6-11122A9E5CF1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Tizen.Security</AssemblyName>\r
+    <FileAlignment>512</FileAlignment>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\Net45\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <DocumentationFile>bin\Debug\Tizen.Security.XML</DocumentationFile>\r
+    <CodeAnalysisRuleSet>ExtendedDesignGuidelineRules.ruleset</CodeAnalysisRuleSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\Net45\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>Tizen.Security.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="System" />\r
+    <Reference Include="System.Core" />\r
+    <Reference Include="System.Xml.Linq" />\r
+    <Reference Include="System.Data.DataSetExtensions" />\r
+    <Reference Include="Microsoft.CSharp" />\r
+    <Reference Include="System.Data" />\r
+    <Reference Include="System.Net.Http" />\r
+    <Reference Include="System.Xml" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Compile Include="Interop\Interop.Privilege.cs" />\r
+    <Compile Include="Interop\Interop.Libraries.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+    <Compile Include="Tizen.Security\Privilege.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="Tizen.Security.nuspec" />\r
+    <None Include="Tizen.Security.Net45.project.json" />\r
+    <None Include="Tizen.Security.snk" />\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets" Condition="Exists('$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets')" />\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->\r
+</Project>
\ No newline at end of file
diff --git a/src/Tizen.Security/Tizen.Security.Net45.project.json b/src/Tizen.Security/Tizen.Security.Net45.project.json
new file mode 100644 (file)
index 0000000..02716e2
--- /dev/null
@@ -0,0 +1,11 @@
+{
+  "dependencies": {
+    "Tizen.Applications": "1.0.0"
+  },
+  "frameworks": {
+    "net45": {}
+  },
+  "runtimes": {
+    "win": {}
+  }
+}
index 8cd5c97..0361e31 100644 (file)
@@ -1,78 +1,78 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <AssemblyName>Tizen.Security</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <ProductVersion>10.0.0</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{0EA0E64F-637A-480A-8746-4ACC1B0FE022}</ProjectGuid>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DocumentationFile>bin\Debug\Tizen.Security.XML</DocumentationFile>
-    <CodeAnalysisRuleSet>ExtendedDesignGuidelineRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>Tizen.Security.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Xml" />
-    <Reference Include="Tizen.Internals">
-      <HintPath>..\..\tizen\Tizen.Internals\bin\Debug\Tizen.Internals.dll</HintPath>
-    </Reference>
-    <Reference Include="Tizen">
-      <HintPath>..\..\tizen\Tizen\bin\Debug\Tizen.dll</HintPath>
-    </Reference>
-    <Reference Include="Tizen.Applications">
-      <HintPath>..\..\application\Tizen.Applications\bin\Debug\Tizen.Applications.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Interop\Interop.Privilege.cs" />
-    <Compile Include="Interop\Interop.Libraries.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Tizen.Security\Privilege.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Tizen.Security.snk" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProjectGuid>{0EA0E64F-637A-480A-8746-4ACC1B0FE022}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Tizen.Security</AssemblyName>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>\r
+    <TargetFrameworkVersion>v1.6</TargetFrameworkVersion>\r
+    <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+    <NoStdLib>true</NoStdLib>\r
+    <NoWarn>$(NoWarn);1701;1702</NoWarn>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <DocumentationFile>bin\Debug\Tizen.Security.XML</DocumentationFile>\r
+    <CodeAnalysisRuleSet>ExtendedDesignGuidelineRules.ruleset</CodeAnalysisRuleSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>Tizen.Security.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Compile Include="Interop\Interop.Privilege.cs" />\r
+    <Compile Include="Interop\Interop.Libraries.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+    <Compile Include="Tizen.Security\Privilege.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="Tizen.Security.nuspec" />\r
+    <None Include="Tizen.Security.project.json" />\r
+    <None Include="Tizen.Security.snk" />\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets" Condition="Exists('$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets')" />\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">
   </Target>
   <Target Name="AfterBuild">
   </Target>
-  -->
-</Project>
+  -->\r
+  <PropertyGroup>\r
+    <!-- https://github.com/dotnet/corefxlab/tree/master/samples/NetCoreSample and
+       https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
+    -->\r
+    <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two
+       properties to any folder that exists to skip the GetReferenceAssemblyPaths task (not target) and
+       to prevent it from outputting a warning (MSB3644).
+    -->\r
+    <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>\r
+    <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>\r
+    <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>\r
+  </PropertyGroup>\r
+</Project>
\ No newline at end of file
diff --git a/src/Tizen.Security/Tizen.Security.nuspec b/src/Tizen.Security/Tizen.Security.nuspec
new file mode 100644 (file)
index 0000000..dedaa93
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<package>
+  <metadata>
+               <id>Tizen.Security</id>
+               <version>$version$</version>
+               <authors>Tizen Developers</authors>
+               <description>Security API for Tizen.Net</description>
+    <dependencies>
+      <dependency id="Tizen.Applications" version="1.0.0" />
+    </dependencies>
+       </metadata>
+</package>
diff --git a/src/Tizen.Security/Tizen.Security.project.json b/src/Tizen.Security/Tizen.Security.project.json
new file mode 100644 (file)
index 0000000..2b4b410
--- /dev/null
@@ -0,0 +1,12 @@
+{
+  "dependencies": {
+    "NETStandard.Library": "1.6.0",
+    "Tizen.Applications": "1.0.0"
+  },
+  "frameworks": {
+    "netstandard1.6": {}
+  },
+  "runtimes": {
+    "win": {}
+  }
+}