Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit ada5503

Browse files
committed
Add initial support for CoreCLR pcl, net45, sl5, dnx451 builds
1 parent 5c61a42 commit ada5503

File tree

12 files changed

+136
-8
lines changed

12 files changed

+136
-8
lines changed

src/ServiceStack.Text/Common/DeserializeBuiltin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ private static ParseStringDelegate GetParseFn()
8080
return value => DateTimeSerializer.ParseDateTimeOffset(value);
8181
if (typeof(T) == typeof(TimeSpan))
8282
return value => DateTimeSerializer.ParseTimeSpan(value);
83-
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL)
83+
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL || DNX451 || DNXCORE50)
8484
if (typeof(T) == typeof(System.Data.Linq.Binary))
8585
return value => new System.Data.Linq.Binary(Convert.FromBase64String(value));
8686
#endif

src/ServiceStack.Text/Common/JsWriter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public JsWriter()
166166
{ typeof(Uri), Serializer.WriteObjectString },
167167
{ typeof(Type), WriteType },
168168
{ typeof(Exception), Serializer.WriteException },
169-
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL)
169+
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL || DNX451 || DNXCORE50)
170170
{ typeof(System.Data.Linq.Binary), Serializer.WriteLinqBinary },
171171
#endif
172172
};

src/ServiceStack.Text/Json/JsonTypeSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ public void WriteEnumFlags(TextWriter writer, object enumFlagValue)
309309

310310
public void WriteLinqBinary(TextWriter writer, object linqBinaryValue)
311311
{
312-
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL)
312+
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL || DNX451 || DNXCORE50)
313313
WriteRawString(writer, Convert.ToBase64String(((System.Data.Linq.Binary)linqBinaryValue).ToArray()));
314314
#endif
315315
}

src/ServiceStack.Text/Jsv/JsvTypeSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ public void WriteEnumFlags(TextWriter writer, object enumFlagValue)
255255

256256
public void WriteLinqBinary(TextWriter writer, object linqBinaryValue)
257257
{
258-
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL)
258+
#if !(__IOS__ || SL5 || XBOX || ANDROID || PCL || DNX451 || DNXCORE50)
259259
WriteRawString(writer, Convert.ToBase64String(((System.Data.Linq.Binary)linqBinaryValue).ToArray()));
260260
#endif
261261
}

src/ServiceStack.Text/Pcl.Dynamic.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//Copyright (c) Service Stack LLC. All Rights Reserved.
22
//License: https://raw.github.com/ServiceStack/ServiceStack/master/license.txt
33

4-
#if !PCL
4+
#if !PCL && FALSE
55

66
using System;
77
using System.Collections.Generic;

src/ServiceStack.Text/PclExport.Net40.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,13 @@ public Net40PclExport()
4343
this.DirSep = Path.DirectorySeparatorChar;
4444
this.AltDirSep = Path.DirectorySeparatorChar == '/' ? '\\' : '/';
4545
this.RegexOptions = RegexOptions.Compiled;
46+
#if DNXCORE50
47+
this.InvariantComparison = CultureInfo.InvariantCulture.CompareInfo.GetStringComparer();
48+
this.InvariantComparisonIgnoreCase = CultureInfo.InvariantCultureIgnoreCase.CompareInfo.GetStringComparer();
49+
#else
4650
this.InvariantComparison = StringComparison.InvariantCulture;
4751
this.InvariantComparisonIgnoreCase = StringComparison.InvariantCultureIgnoreCase;
52+
#endif
4853
this.InvariantComparer = StringComparer.InvariantCulture;
4954
this.InvariantComparerIgnoreCase = StringComparer.InvariantCultureIgnoreCase;
5055

@@ -451,7 +456,7 @@ public override ParseStringDelegate GetSpecializedCollectionParseMethod<TSeriali
451456

452457
public override ParseStringDelegate GetJsReaderParseMethod<TSerializer>(Type type)
453458
{
454-
#if !__IOS__
459+
#if !__IOS__ && FALSE
455460
if (type.AssignableFrom(typeof(System.Dynamic.IDynamicMetaObjectProvider)) ||
456461
type.HasInterface(typeof(System.Dynamic.IDynamicMetaObjectProvider)))
457462
{

src/ServiceStack.Text/PclExport.Sl5.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,12 @@ public override Assembly LoadAssembly(string assemblyPath)
4444

4545
public override Assembly[] GetAllAssemblies()
4646
{
47+
//TODO: Get dynamic working in sl5 builds
48+
#if FALSE
4749
return ((dynamic)AppDomain.CurrentDomain).GetAssemblies() as Assembly[];
50+
#else
51+
return new Assembly[0];
52+
#endif
4853
}
4954

5055
public override Type GetGenericCollectionType(Type type)

src/ServiceStack.Text/PclExport.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ public virtual ParseStringDelegate GetSpecializedCollectionParseMethod<TSerializ
396396
public virtual ParseStringDelegate GetJsReaderParseMethod<TSerializer>(Type type)
397397
where TSerializer : ITypeSerializer
398398
{
399-
#if !PCL
399+
#if !PCL && FALSE
400400
if (type.AssignableFrom(typeof(System.Dynamic.IDynamicMetaObjectProvider)) ||
401401
type.HasInterface(typeof(System.Dynamic.IDynamicMetaObjectProvider)))
402402
{

src/ServiceStack.Text/ReflectionExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1425,7 +1425,7 @@ public static Type FirstGenericTypeDefinition(this Type type)
14251425

14261426
public static bool IsDynamic(this Assembly assembly)
14271427
{
1428-
#if __IOS__ || WP || NETFX_CORE || PCL
1428+
#if __IOS__ || WP || NETFX_CORE || PCL || DNX451 || DNXCORE50
14291429
return false;
14301430
#else
14311431
try
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="__ToolsVersion__" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
5+
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
6+
</PropertyGroup>
7+
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" Condition="'$(VSToolsPath)' != ''" />
8+
<PropertyGroup Label="Globals">
9+
<ProjectGuid>8f56df61-b041-4b95-b658-eb51ebef4ef6</ProjectGuid>
10+
</PropertyGroup>
11+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
12+
</PropertyGroup>
13+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
14+
</PropertyGroup>
15+
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
16+
<AssemblyName>ServiceStack.Text</AssemblyName>
17+
</PropertyGroup>
18+
<PropertyGroup Label="Configuration">
19+
<RootNamespace>ServiceStack.Text</RootNamespace>
20+
</PropertyGroup>
21+
<PropertyGroup>
22+
<SchemaVersion>2.0</SchemaVersion>
23+
</PropertyGroup>
24+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
25+
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
26+
</PropertyGroup>
27+
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" Condition="'$(VSToolsPath)' != ''" />
28+
</Project>

0 commit comments

Comments
 (0)