Skip to content

Commit b96b4c8

Browse files
committed
netstandard2.0 support and test fixes
1 parent 689850f commit b96b4c8

44 files changed

Lines changed: 437 additions & 176 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/ExpressionDebugger.Tests/ExpressionDebugger.Tests.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>
88

9+
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
10+
<TargetFrameworks>$(TargetFrameworks);net48</TargetFrameworks>
11+
</PropertyGroup>
12+
913
<ItemGroup>
1014
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
1115
<PackageReference Include="MSTest.TestAdapter" Version="2.2.8" />

src/ExpressionDebugger/ExpressionCompiler.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ from n in t.TypeNames
125125
assemblyStream.Seek(0, SeekOrigin.Begin);
126126
symbolsStream.Seek(0, SeekOrigin.Begin);
127127

128-
#if NETSTANDARD2_0 || NET6_0_OR_GREATER
128+
#if NET6_0_OR_GREATER
129129
return System.Runtime.Loader.AssemblyLoadContext.Default.LoadFromStream(assemblyStream, symbolsStream);
130130
#else
131-
return Assembly.Load(assemblyStream.ToArray(), symbolsStream.ToArray());
131+
return Assembly.Load(assemblyStream.ToArray(), symbolsStream.ToArray());
132132
#endif
133133
}
134134

src/ExpressionDebugger/ExpressionDebugger.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net10.0;net9.0;net8.0;</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net10.0;net9.0;net8.0</TargetFrameworks>
55
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
66
<Authors>Chaowlert Chaisrichalermpol</Authors>
77
<Description>Step into debugging from linq expressions</Description>
@@ -25,4 +25,4 @@
2525
<ItemGroup>
2626
<ProjectReference Include="..\ExpressionTranslator\ExpressionTranslator.csproj" />
2727
</ItemGroup>
28-
</Project>
28+
</Project>

src/ExpressionTranslator/ExpressionTranslator.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net10.0;net9.0;net8.0</TargetFrameworks>
55
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
66
<Authors>Chaowlert Chaisrichalermpol</Authors>
77
<Description>Translate from linq expressions to C# code</Description>
@@ -25,7 +25,7 @@
2525
<None Include="icon.png" Pack="true" PackagePath="\" />
2626
</ItemGroup>
2727

28-
<ItemGroup>
28+
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
2929
<PackageReference Include="System.Runtime.Experimental" Version="6.0.2" />
3030
</ItemGroup>
3131
</Project>

src/Mapster.Async.Tests/AsyncTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ public async Task AsyncError()
4545
}
4646
}
4747

48-
[TestMethod, ExpectedException(typeof(InvalidOperationException))]
48+
[TestMethod]
4949
public void Sync()
5050
{
5151
TypeAdapterConfig<Poco, Dto>.NewConfig()
5252
.AfterMappingAsync(async dest => { dest.Name = await GetName(); });
5353

5454
var poco = new Poco {Id = "foo"};
55-
var dto = poco.Adapt<Dto>();
56-
dto.Name.ShouldBe("bar");
55+
56+
Should.Throw<InvalidOperationException>(() => poco.Adapt<Dto>());
5757
}
5858

5959
[TestMethod]

src/Mapster.Async.Tests/Mapster.Async.Tests.csproj

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net10.0;net9.0;net8.0;</TargetFrameworks>
4+
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
55
<IsTestProject>true</IsTestProject>
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>
88

9+
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
10+
<TargetFrameworks>$(TargetFrameworks);net48</TargetFrameworks>
11+
</PropertyGroup>
12+
913
<ItemGroup>
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
11-
<PackageReference Include="MSTest.TestAdapter" Version="3.7.0" />
12-
<PackageReference Include="MSTest.TestFramework" Version="3.7.0" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
15+
<PackageReference Include="MSTest.TestAdapter" Version="4.0.2" />
16+
<PackageReference Include="MSTest.TestFramework" Version="4.0.2" />
1317
<PackageReference Include="Shouldly" Version="4.2.1" />
1418
</ItemGroup>
1519

src/Mapster.Async/Mapster.Async.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net10.0;net9.0;net8.0;</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net10.0;net9.0;net8.0</TargetFrameworks>
55
<Description>Async supports for Mapster</Description>
66
<IsPackable>true</IsPackable>
77
<PackageTags>Mapster;Async</PackageTags>

src/Mapster.DependencyInjection.Tests/InjectionTest.cs

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,26 @@ public void Injection()
3131
}
3232
}
3333

34-
[TestMethod, ExpectedException(typeof(InvalidOperationException))]
34+
[TestMethod]
3535
public void NoServiceAdapter_InjectionError()
3636
{
37-
var expectedValue = MapContext.Current.GetService<IMockService>().GetName();
38-
var config = ConfigureMapping(expectedValue);
37+
Should.Throw<InvalidOperationException>(() =>
38+
{
39+
var expectedValue = MapContext.Current.GetService<IMockService>().GetName();
40+
var config = ConfigureMapping(expectedValue);
3941

40-
IServiceCollection sc = new ServiceCollection();
41-
sc.AddScoped<IMockService, MockService>();
42-
sc.AddSingleton(config);
43-
// We should use ServiceMapper in normal code
44-
// but for this test we want to be sure the code will generate the InvalidOperationException
45-
sc.AddScoped<IMapper, Mapper>();
42+
IServiceCollection sc = new ServiceCollection();
43+
sc.AddScoped<IMockService, MockService>();
44+
sc.AddSingleton(config);
45+
// We should use ServiceMapper in normal code
46+
// but for this test we want to be sure the code will generate the InvalidOperationException
47+
sc.AddScoped<IMapper, Mapper>();
4648

47-
var sp = sc.BuildServiceProvider();
48-
using var scope = sp.CreateScope();
49-
var mapper = scope.ServiceProvider.GetService<IMapper>();
50-
MapToDto(mapper, expectedValue);
49+
var sp = sc.BuildServiceProvider();
50+
using var scope = sp.CreateScope();
51+
var mapper = scope.ServiceProvider.GetService<IMapper>();
52+
MapToDto(mapper, expectedValue);
53+
});
5154
}
5255

5356
private static TypeAdapterConfig ConfigureMapping(string expectedValue)
@@ -103,4 +106,4 @@ public class Dto
103106
public string Id { get; set; }
104107
public string Name { get; set; }
105108
}
106-
}
109+
}

src/Mapster.DependencyInjection.Tests/Mapster.DependencyInjection.Tests.csproj

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net10.0;net9.0;net8.0;</TargetFrameworks>
4+
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
55
<IsTestProject>true</IsTestProject>
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>
88

9+
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
10+
<TargetFrameworks>$(TargetFrameworks);net48</TargetFrameworks>
11+
</PropertyGroup>
12+
913
<ItemGroup>
1014
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
12-
<PackageReference Include="MSTest.TestAdapter" Version="3.7.0" />
13-
<PackageReference Include="MSTest.TestFramework" Version="3.7.0" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
16+
<PackageReference Include="MSTest.TestAdapter" Version="4.0.2" />
17+
<PackageReference Include="MSTest.TestFramework" Version="4.0.2" />
1418
<PackageReference Include="Shouldly" Version="4.2.1" />
1519
</ItemGroup>
1620

src/Mapster.DependencyInjection/Mapster.DependencyInjection.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net10.0;net9.0;net8.0;</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net10.0;net9.0;net8.0</TargetFrameworks>
55
<Description>Dependency Injection supports for Mapster</Description>
66
<IsPackable>true</IsPackable>
77
<PackageTags>Mapster;DependencyInjection</PackageTags>

0 commit comments

Comments
 (0)