Skip to content

Commit 8f797f0

Browse files
committed
Added dotnet5.4 (issue #6)
1 parent be56824 commit 8f797f0

File tree

8 files changed

+50
-17
lines changed

8 files changed

+50
-17
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ The following frameworks are supported:
77
- net40
88
- net45x
99
- net46x
10-
- dnxcore45x
10+
- dnx45x
1111
- dnxcore50
12+
- dotnet54
1213

1314
<br>
1415
This fork takes the basic library to a new level. Contains XML Documentation and examples on how to use Dynamic Linq. Also adds unit testing to help ensure that it works properly.

src/System.Linq.Dynamic.Core/AppDomain.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if DNXCORE50 || NETFX || NETSTANDARD
1+
#if DNXCORE50 || DOTNET5_4 || NETFX || NETSTANDARD
22
using System.Collections.Generic;
33
using System.Reflection;
44
using System.Reflection.Emit;
@@ -23,7 +23,7 @@ public Assembly[] GetAssemblies()
2323
{
2424
return new List<Assembly>().ToArray(); // TODO
2525
}
26-
#elif DNXCORE50
26+
#elif DNXCORE50 || DOTNET5_4
2727
public Assembly[] GetAssemblies()
2828
{
2929
var assemblyNames = PlatformServices.Default.LibraryManager.GetLibraries().SelectMany(lib => lib.Assemblies).Distinct().ToArray();

src/System.Linq.Dynamic.Core/GroupResult.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace System.Linq.Dynamic.Core
1010
public class GroupResult
1111
{
1212
/// <summary>
13-
/// The key value of the group. (TODO : check for DNXCORE50)
13+
/// The key value of the group. (TODO : check for DNXCORE50 || DOTNET5_4)
1414
/// </summary>
1515
#if NET35
1616
public object Key { get; internal set; }

src/System.Linq.Dynamic.Core/project.json

+33-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"owners": [ "Stef Heyenrath" ],
99
"projectUrl": "https://github.com/StefH/System.Linq.Dynamic.Core",
1010
"licenseUrl": "https://github.com/StefH/System.Linq.Dynamic.Core/blob/master/licence.txt",
11-
"releaseNotes": "Fixed issue #1, #2 and #4",
11+
"releaseNotes": "Fixed issues",
1212

1313
"compilationOptions": {
1414
},
@@ -92,6 +92,38 @@
9292

9393
"System.Threading": "4.0.11-beta-*"
9494
}
95+
},
96+
"dotnet54": {
97+
"dependencies": {
98+
"Microsoft.CSharp": "4.0.1-beta-*",
99+
100+
"System.Collections.Concurrent": "4.0.11-beta-*",
101+
102+
"Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final",
103+
104+
"System.Runtime.Extensions": "4.0.11-beta-*",
105+
"System.Runtime.InteropServices": "4.0.21-beta-*",
106+
"System.Runtime.Loader": "4.0.0-beta-*",
107+
108+
"System.Runtime.Serialization.Primitives": "4.1.0-beta-*",
109+
"System.Runtime.Serialization.Xml": "4.1.0-beta-*",
110+
111+
"System.Reflection.Primitives": "4.0.1-beta-*",
112+
"System.Reflection.TypeExtensions": "4.1.0-beta-*",
113+
"System.Reflection.Emit": "4.0.1-beta-*",
114+
115+
"System.Linq": "4.0.1-beta-*",
116+
"System.Linq.Expressions": "4.0.11-beta-*",
117+
"System.Linq.Queryable": "4.0.1-beta-*",
118+
119+
"System.Globalization": "4.0.11-beta-*",
120+
121+
"System.Diagnostics.Debug": "4.0.11-beta-*",
122+
"System.Diagnostics.Tools": "4.0.1-beta-*",
123+
"System.Diagnostics.Tracing": "4.0.21-beta-*",
124+
125+
"System.Threading": "4.0.11-beta-*"
126+
}
95127
}
96128
}
97129
}

test/System.Linq.Dynamic.Core.Tests/BasicTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ public void First_AsStringExpression()
234234
var testResult = testListQry.OrderBy("Roles.First().Name").Select("Id");
235235

236236
//Assert
237-
#if NET35 || DNX452 || DNXCORE50
237+
#if NET35 || DNX452 || DNXCORE50 || DOTNET5_4
238238
Assert.Equal(realResult, testResult.Cast<Guid>().ToArray());
239239
#else
240240
Assert.Equal(realResult, testResult.ToDynamicArray().Cast<Guid>());
@@ -254,7 +254,7 @@ public void Single_AsStringExpression()
254254
var testResult = testListQry.OrderBy("Roles.Single().Name").Select("Id");
255255

256256
//Assert
257-
#if NET35 || DNX452 || DNXCORE50
257+
#if NET35 || DNX452 || DNXCORE50 || DOTNET5_4
258258
Assert.Equal(realResult, testResult.Cast<Guid>().ToArray());
259259
#else
260260
Assert.Equal(realResult, testResult.ToDynamicArray());

test/System.Linq.Dynamic.Core.Tests/DynamicTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public void Select()
186186
//Assert
187187
Assert.Equal(range.Select(x => x * x).ToArray(), rangeResult.Cast<int>().ToArray());
188188

189-
#if NET35 || DNXCORE50
189+
#if NET35 || DNXCORE50 || DOTNET5_4
190190
Assert.Equal(testList.Select(x => x.UserName).ToArray(), userNames.AsEnumerable().Cast<string>().ToArray());
191191
Assert.Equal(
192192
testList.Select(x => "{ UserName = " + x.UserName + ", MyFirstName = " + x.Profile.FirstName + " }").ToArray(),
@@ -348,7 +348,7 @@ public void Join()
348348
//Assert
349349
var realResult = realQuery.ToArray();
350350

351-
#if DNXCORE50
351+
#if DNXCORE50 || DOTNET5_4
352352
var dynamicResult = dynamicQuery.ToDynamicArray<DynamicClass>();
353353

354354
Assert.Equal(realResult.Length, dynamicResult.Length);

test/System.Linq.Dynamic.Core.Tests/InternalTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
#if !(NET35 || NET452 || DNX452 || DNXCORE50 || NETSTANDARD)
1+
#if !(NET35 || NET452 || DNX452 || DNXCORE50 || DOTNET5_4 || NETSTANDARD)
22
using System.Threading.Tasks;
33
#endif
44

55
namespace System.Linq.Dynamic.Core.Tests
66
{
77
public class InternalTests
88
{
9-
#if !(NET452 || NET35|| DNX452 || DNXCORE50 || NETSTANDARD)
9+
#if !(NET452 || NET35|| DNX452 || DNXCORE50 || DOTNET5_4 || NETSTANDARD)
1010
[Fact]
1111
public void ClassFactory_LoadTest()
1212
{

test2/DynamicLib/DynamicClassFactory.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ public static class DynamicClassFactory
2626
private static readonly CustomAttributeBuilder DebuggerHiddenAttributeBuilder = new CustomAttributeBuilder(typeof(DebuggerHiddenAttribute).GetConstructor(Type.EmptyTypes), new object[0]);
2727

2828
private static readonly ConstructorInfo ObjectCtor = typeof(object).GetConstructor(Type.EmptyTypes);
29-
#if DNXCORE50
29+
#if DNXCORE50 || DOTNET5_4
3030
private static readonly MethodInfo ObjectToString = typeof(object).GetMethod("ToString", BindingFlags.Instance | BindingFlags.Public);
3131
#else
3232
private static readonly MethodInfo ObjectToString = typeof(object).GetMethod("ToString", BindingFlags.Instance | BindingFlags.Public, null, Type.EmptyTypes, null);
3333
#endif
3434

3535
private static readonly ConstructorInfo StringBuilderCtor = typeof(StringBuilder).GetConstructor(Type.EmptyTypes);
36-
#if DNXCORE50
36+
#if DNXCORE50 || DOTNET5_4
3737
private static readonly MethodInfo StringBuilderAppendString = typeof(StringBuilder).GetMethod("Append", new[] { typeof(string) });
3838
private static readonly MethodInfo StringBuilderAppendObject = typeof(StringBuilder).GetMethod("Append", new[] { typeof(object) });
3939
#else
@@ -43,7 +43,7 @@ public static class DynamicClassFactory
4343

4444
private static readonly Type EqualityComparer = typeof(EqualityComparer<>);
4545

46-
#if DNXCORE50
46+
#if DNXCORE50 || DOTNET5_4
4747
private static readonly Type EqualityComparerGenericArgument = TypeExtensions.GetGenericArguments(EqualityComparer)[0];
4848
private static readonly MethodInfo EqualityComparerDefault = EqualityComparer.GetMethod("get_Default", BindingFlags.Static | BindingFlags.Public);
4949
private static readonly MethodInfo EqualityComparerEquals = EqualityComparer.GetMethod("Equals", new[] { EqualityComparerGenericArgument, EqualityComparerGenericArgument });
@@ -254,7 +254,7 @@ public static Type CreateType(IList<DynamicProperty> properties)
254254

255255
for (int i = 0; i < names.Length; i++)
256256
{
257-
#if DNXCORE50
257+
#if DNXCORE50 || DOTNET5_4
258258
Type equalityComparerT = EqualityComparer.MakeGenericType(generics[i].AsType());
259259
#else
260260
Type equalityComparerT = EqualityComparer.MakeGenericType(generics[i]);
@@ -290,7 +290,7 @@ public static Type CreateType(IList<DynamicProperty> properties)
290290
ilgeneratorToString.Emit(OpCodes.Ldloc_0);
291291
ilgeneratorToString.Emit(OpCodes.Ldarg_0);
292292
ilgeneratorToString.Emit(OpCodes.Ldfld, fields[i]);
293-
#if DNXCORE50
293+
#if DNXCORE50 || DOTNET5_4
294294
ilgeneratorToString.Emit(OpCodes.Box, generics[i].AsType());
295295
#else
296296
ilgeneratorToString.Emit(OpCodes.Box, generics[i]);
@@ -333,7 +333,7 @@ public static Type CreateType(IList<DynamicProperty> properties)
333333
ilgeneratorToString.Emit(OpCodes.Callvirt, ObjectToString);
334334
ilgeneratorToString.Emit(OpCodes.Ret);
335335

336-
#if DNXCORE50
336+
#if DNXCORE50 || DOTNET5_4
337337
type = tb.CreateTypeInfo().AsType();
338338
#else
339339
type = tb.CreateType();

0 commit comments

Comments
 (0)