Fix code for building with corefx
authorWonYoung Choi <wy80.choi@samsung.com>
Thu, 28 Jul 2016 07:56:33 +0000 (16:56 +0900)
committerWonYoung Choi <wy80.choi@samsung.com>
Thu, 28 Jul 2016 08:04:02 +0000 (17:04 +0900)
Change-Id: Ica20c04eb12e499fb8ccbfa5da90b391cc972270

Tizen.Applications/CoreFx.References.targets [new file with mode: 0644]
Tizen.Applications/Tizen.Applications.csproj
Tizen.Applications/Tizen.Applications.csproj.user [deleted file]
Tizen.Applications/Tizen.Applications/AppControl.cs
Tizen.Applications/Tizen.Applications/Bundle.cs
Tizen.Applications/Tizen.Applications/EventNotification.cs
Tizen.Applications/Tizen.Applications/Notification.cs
packaging/csapi-application.spec

diff --git a/Tizen.Applications/CoreFx.References.targets b/Tizen.Applications/CoreFx.References.targets
new file mode 100644 (file)
index 0000000..dab29ec
--- /dev/null
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Condition=" '$(CoreFxPath)' != '' ">
+     <Reference Include="Microsoft.Win32.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/Microsoft.Win32.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.AppContext">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.AppContext.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections.Concurrent">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Collections.Concurrent.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Collections.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.Annotations">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.ComponentModel.Annotations.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.ComponentModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Console">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Console.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Debug">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Debug.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Process">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Process.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Tools">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Tools.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.TraceSource">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.TraceSource.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Tracing">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Tracing.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Dynamic.Runtime">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Dynamic.Runtime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization.Calendars">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Globalization.Calendars.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Globalization.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Globalization.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Compression">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.Compression.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Compression.ZipFile">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.Compression.ZipFile.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.FileSystem.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.FileSystem.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.Watcher">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.FileSystem.Watcher.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.MemoryMappedFiles">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.MemoryMappedFiles.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.UnmanagedMemoryStream">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.UnmanagedMemoryStream.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Expressions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.Expressions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Parallel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.Parallel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Queryable">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.Queryable.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Http">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Http.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.NameResolution">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.NameResolution.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Requests">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Requests.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Security">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Security.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Sockets">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Sockets.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.WebHeaderCollection">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.WebHeaderCollection.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics.Vectors">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ObjectModel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.ObjectModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.DispatchProxy">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.DispatchProxy.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.TypeExtensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.TypeExtensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Resources.ResourceManager">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Resources.ResourceManager.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Handles">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Handles.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.InteropServices.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Loader">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Loader.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Numerics">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Numerics.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Algorithms">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.Algorithms.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Encoding">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.Encoding.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.X509Certificates">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.X509Certificates.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Encoding">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Text.Encoding.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Encoding.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Text.Encoding.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.RegularExpressions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Text.RegularExpressions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Tasks.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks.Parallel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Tasks.Parallel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Thread">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Thread.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.ThreadPool">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.ThreadPool.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Timer">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Timer.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.ReaderWriter">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Xml.ReaderWriter.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XDocument">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Xml.XDocument.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
index dcf347b..be2699c 100644 (file)
@@ -40,7 +40,8 @@
   <PropertyGroup>
     <AssemblyOriginatorKeyFile>Tizen.Applications.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
-  <ItemGroup>
+  <Import Project="CoreFx.References.targets" />
+  <ItemGroup Condition=" '$(CoreFxPath)' == '' ">
     <Reference Include="System" />
     <Reference Include="System.Core" />
     <Reference Include="System.Xml.Linq" />
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Tizen.Applications/Tizen.Applications.csproj.user b/Tizen.Applications/Tizen.Applications.csproj.user
deleted file mode 100755 (executable)
index 55f44b9..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ProjectView>ShowAllFiles</ProjectView>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
index d86fe64..124e28a 100644 (file)
@@ -102,7 +102,7 @@ namespace Tizen.Applications
         /// <value>
         /// The operation is the mandatory information for the launch request. If the operation is not specified,
         /// AppControlOperations.Default is used for the launch request. If the operation is AppControlOperations.Default,
-        /// the package information is mandatory to explicitly launch the application. 
+        /// the package information is mandatory to explicitly launch the application.
         /// (if the operation is null for setter, it clears the previous value.)
         /// </value>
         /// <example>
@@ -185,13 +185,13 @@ namespace Tizen.Applications
         /// Gets and sets the URI of the data.
         /// </summary>
         /// <value>
-        /// Since Tizen 2.4, if the parameter 'uri' is started with 'file://' and 
-        /// it is a regular file in this application's data path which can be obtained 
+        /// Since Tizen 2.4, if the parameter 'uri' is started with 'file://' and
+        /// it is a regular file in this application's data path which can be obtained
         /// by property DataPath in ApplicationInfo class,
-        /// it will be shared to the callee application. 
-        /// Framework will grant a temporary permission to the callee application for this file and 
+        /// it will be shared to the callee application.
+        /// Framework will grant a temporary permission to the callee application for this file and
         /// revoke it when the callee application is terminated.
-        /// The callee application can just read it. 
+        /// The callee application can just read it.
         /// (if the uri is null for setter, it clears the previous value.)
         /// </value>
         /// <example>
@@ -316,13 +316,13 @@ namespace Tizen.Applications
         /// Gets and sets the launch mode of the application.
         /// </summary>
         /// <value>
-        /// Although LaunchMode were set as AppControlLaunchMode.Group, 
-        /// callee application would be launched as single mode 
+        /// Although LaunchMode were set as AppControlLaunchMode.Group,
+        /// callee application would be launched as single mode
         /// if the manifest file of callee application defined the launch mode as "single".
-        /// This property can just set the preference of caller application to launch an application. 
+        /// This property can just set the preference of caller application to launch an application.
         /// Sub-applications which were launched as group mode always have own process.
-        /// Since Tizen 3.0, if launch mode not set in the caller app control, 
-        /// this property returns AppControlLaunchMode.Single launch mode. 
+        /// Since Tizen 3.0, if launch mode not set in the caller app control,
+        /// this property returns AppControlLaunchMode.Single launch mode.
         /// </value>
         /// <example>
         /// <code>
@@ -437,11 +437,11 @@ namespace Tizen.Applications
         /// Sends the launch request.
         /// </summary>
         /// <remarks>
-        /// The operation is mandatory information for the launch request. 
+        /// The operation is mandatory information for the launch request.
         /// If the operation is not specified, AppControlOperations.Default is used by default.
         /// If the operation is AppControlOperations.Default, the application ID is mandatory to explicitly launch the application. \n
-        /// Since Tizen 2.4, the launch request of the service application over out of packages is restricted by the platform. 
-        /// Also, implicit launch requests are NOT delivered to service applications since 2.4. 
+        /// Since Tizen 2.4, the launch request of the service application over out of packages is restricted by the platform.
+        /// Also, implicit launch requests are NOT delivered to service applications since 2.4.
         /// To launch a service application, an explicit launch request with application ID given by property ApplicationId MUST be sent.
         /// </remarks>
         /// <param name="launchRequest">The AppControl</param>
@@ -465,11 +465,11 @@ namespace Tizen.Applications
         /// Sends the launch request.
         /// </summary>
         /// <remarks>
-        /// The operation is mandatory information for the launch request. 
+        /// The operation is mandatory information for the launch request.
         /// If the operation is not specified, AppControlOperations.Default is used by default.
         /// If the operation is AppControlOperations.Default, the application ID is mandatory to explicitly launch the application. \n
-        /// Since Tizen 2.4, the launch request of the service application over out of packages is restricted by the platform. 
-        /// Also, implicit launch requests are NOT delivered to service applications since 2.4. 
+        /// Since Tizen 2.4, the launch request of the service application over out of packages is restricted by the platform.
+        /// Also, implicit launch requests are NOT delivered to service applications since 2.4.
         /// To launch a service application, an explicit launch request with application ID given by property ApplicationId MUST be sent.
         /// </remarks>
         /// <param name="launchRequest">The AppControl</param>
@@ -819,7 +819,7 @@ namespace Tizen.Applications
                     for (int i = 0; i < len; ++i)
                     {
                         IntPtr charArr = Marshal.ReadIntPtr(valuePtr, IntPtr.Size * i);
-                        stringList.Add(Marshal.PtrToStringAuto(charArr));
+                        stringList.Add(Marshal.PtrToStringAnsi(charArr));
                         Interop.Libc.Free(charArr);
                     }
                     Interop.Libc.Free(valuePtr);
@@ -972,7 +972,7 @@ namespace Tizen.Applications
                     for (int i = 0; i < len; ++i)
                     {
                         IntPtr charArr = Marshal.ReadIntPtr(valuePtr, IntPtr.Size * i);
-                        valueArray.Add(Marshal.PtrToStringAuto(charArr));
+                        valueArray.Add(Marshal.PtrToStringAnsi(charArr));
                         Interop.Libc.Free(charArr);
                     }
                     Interop.Libc.Free(valuePtr);
index 793fe75..5f54a2d 100644 (file)
@@ -7,6 +7,7 @@
 // you entered into with Samsung.
 
 using System;
+using System.Reflection;
 using System.Collections.Generic;
 using System.Linq;
 using System.Runtime.InteropServices;
@@ -315,7 +316,7 @@ namespace Tizen.Applications
                         IntPtr stringPtr;
                         int retString = Interop.Bundle.GetString(_handle, key, out stringPtr);
                         BundleErrorFactory.CheckAndThrowException(retString, _handle);
-                        string stringValue = Marshal.PtrToStringAuto(stringPtr);
+                        string stringValue = Marshal.PtrToStringAnsi(stringPtr);
                         if (stringValue == null)
                             return string.Empty;
                         return stringValue;
@@ -523,7 +524,7 @@ namespace Tizen.Applications
                         return typeof(string) == typeof(T);
 
                     case (int)BundleType.StringArray:
-                        return typeof(T).IsAssignableFrom(typeof(string[]));
+                        return typeof(T).GetTypeInfo().IsAssignableFrom(typeof(string[]));
 
                     case (int)BundleType.Byte:
                         return typeof(byte[]) == typeof(T);
@@ -620,7 +621,7 @@ namespace Tizen.Applications
 
             for (int iterator = 0; iterator < size; iterator++)
             {
-                managedArray[iterator] = Marshal.PtrToStringAuto(IntPtrArray[iterator]);
+                managedArray[iterator] = Marshal.PtrToStringAnsi(IntPtrArray[iterator]);
             }
         }
     }
index cee78a5..b28b18b 100755 (executable)
@@ -89,7 +89,7 @@ namespace Tizen.Applications.Notifications
                 if(countPtr == IntPtr.Zero)
                     return 0;
 
-                count = Marshal.PtrToStringAuto(countPtr);
+                count = Marshal.PtrToStringAnsi(countPtr);
                 if(Int32.TryParse(count, out cnt))
                 {
                     return cnt;
index 2e9e51f..2db7a34 100755 (executable)
@@ -126,7 +126,7 @@ namespace Tizen.Applications.Notifications
                 if (titlePtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(titlePtr);
+                return Marshal.PtrToStringAnsi(titlePtr);
             }
             set
             {
@@ -166,7 +166,7 @@ namespace Tizen.Applications.Notifications
                 if (contentPtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(contentPtr);
+                return Marshal.PtrToStringAnsi(contentPtr);
             }
             set
             {
@@ -209,7 +209,7 @@ namespace Tizen.Applications.Notifications
                 if (pathPtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(pathPtr);
+                return Marshal.PtrToStringAnsi(pathPtr);
             }
             set
             {
@@ -252,7 +252,7 @@ namespace Tizen.Applications.Notifications
                 if (pathPtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(pathPtr);
+                return Marshal.PtrToStringAnsi(pathPtr);
             }
             set
             {
@@ -295,7 +295,7 @@ namespace Tizen.Applications.Notifications
                 if (pathPtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(pathPtr);
+                return Marshal.PtrToStringAnsi(pathPtr);
             }
             set
             {
@@ -338,7 +338,7 @@ namespace Tizen.Applications.Notifications
                 if (pathPtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(pathPtr);
+                return Marshal.PtrToStringAnsi(pathPtr);
             }
             set
             {
@@ -381,7 +381,7 @@ namespace Tizen.Applications.Notifications
                 if (tagPtr == IntPtr.Zero)
                     return string.Empty;
 
-                return Marshal.PtrToStringAuto(tagPtr);
+                return Marshal.PtrToStringAnsi(tagPtr);
             }
             set
             {
@@ -568,7 +568,7 @@ namespace Tizen.Applications.Notifications
                 }
 
                 if(pathPtr != IntPtr.Zero)
-                    _soundPath = Marshal.PtrToStringAuto(pathPtr);
+                    _soundPath = Marshal.PtrToStringAnsi(pathPtr);
 
                 return _soundPath;
             }
@@ -844,7 +844,7 @@ namespace Tizen.Applications.Notifications
                 if(pathPtr == IntPtr.Zero)
                     return string.Empty;
 
-                path = Marshal.PtrToStringAuto(pathPtr);
+                path = Marshal.PtrToStringAnsi(pathPtr);
                 return path;
             }
             set
index 263a343..eebf804 100755 (executable)
@@ -1,4 +1,5 @@
 %{!?dotnet_assembly_path: %define dotnet_assembly_path %{_datadir}/assembly}
+%{!?dotnet_core_path: %define dotnet_core_path %{_datadir}/tizen.net/ref}
 
 %if 0%{?tizen_build_devel_mode}
 %define BUILDCONF Debug
@@ -20,13 +21,11 @@ Source1:    %{name}.manifest
 BuildRequires: mono-compiler
 BuildRequires: mono-devel
 
-# P/Invoke Build Requries
-BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(capi-appfw-app-manager)
-BuildRequires: pkgconfig(appcore-agent)
-BuildRequires: pkgconfig(message-port)
-BuildRequires: pkgconfig(notification)
+# .NETCore
+%if 0%{?_with_corefx}
+AutoReqProv: no
+BuildRequires: corefx-managed-32b-ref
+%endif
 
 # C# API Requries
 BuildRequires: csapi-tizen
@@ -44,22 +43,23 @@ cp %{SOURCE1} .
 %build
 for ASM in %{Assemblies}; do
 xbuild $ASM/$ASM.csproj \
+%if 0%{?_with_corefx}
+        /p:NoStdLib=True \
+        /p:TargetFrameworkVersion=v5.0 \
+        /p:AddAdditionalExplicitAssemblyReferences=False \
+        /p:CoreFxPath=%{dotnet_core_path} \
+%endif
         /p:Configuration=%{BUILDCONF} \
         /p:ReferencePath=%{dotnet_assembly_path}
 done
 
 %install
-# Assemblies
 mkdir -p %{buildroot}%{dotnet_assembly_path}
 for ASM in %{Assemblies}; do
 install -p -m 644 $ASM/bin/%{BUILDCONF}/$ASM.dll %{buildroot}%{dotnet_assembly_path}
 done
 
-# License
-mkdir -p %{buildroot}%{_datadir}/license
-cp LICENSE %{buildroot}%{_datadir}/license/%{name}
-
 %files
 %manifest %{name}.manifest
+%license LICENSE
 %attr(644,root,root) %{dotnet_assembly_path}/*.dll
-%attr(644,root,root) %{_datadir}/license/%{name}