Skip to content

Commit 3dc162c

Browse files
committed
- Resolved protobuf-net#330
- Used protobuf-net 3.2.30
1 parent 062c184 commit 3dc162c

File tree

6 files changed

+149
-127
lines changed

6 files changed

+149
-127
lines changed

Directory.Build.props

+47-47
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,54 @@
11
<Project>
2-
<PropertyGroup>
3-
<DefaultTFM>net8.0</DefaultTFM>
4-
<RootNamespace>ProtoBuf.Grpc</RootNamespace>
5-
<Authors>Marc Gravell</Authors>
6-
<OutputType>Library</OutputType>
7-
<SignAssembly>true</SignAssembly>
8-
<DelaySign>False</DelaySign>
9-
<NoWarn>NU5105;CS1701;BC42016;MSB3884;NETSDK1057;CS8632;IDE0090;IDE0057;xUnit1004</NoWarn>
10-
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)ProtoBuf.snk</AssemblyOriginatorKeyFile>
11-
<Copyright>Marc Gravell, 2019-</Copyright>
12-
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
13-
<PackageProjectUrl>https://github.com/protobuf-net/protobuf-net.Grpc</PackageProjectUrl>
14-
<RepositoryUrl>https://github.com/protobuf-net/protobuf-net.Grpc</RepositoryUrl>
15-
<RepositoryType>git</RepositoryType>
16-
<Product>protobuf-net.Grpc ($(TargetFramework))</Product>
17-
<PackageReleaseNotes>https://protobuf-net.github.io/protobuf-net.Grpc/releasenotes#$(VersionPrefix)</PackageReleaseNotes>
2+
<PropertyGroup>
3+
<DefaultTFM>net8.0</DefaultTFM>
4+
<RootNamespace>ProtoBuf.Grpc</RootNamespace>
5+
<Authors>Marc Gravell</Authors>
6+
<OutputType>Library</OutputType>
7+
<SignAssembly>true</SignAssembly>
8+
<DelaySign>False</DelaySign>
9+
<NoWarn>NU5105;CS1701;BC42016;MSB3884;NETSDK1057;CS8632;IDE0090;IDE0057;xUnit1004</NoWarn>
10+
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)ProtoBuf.snk</AssemblyOriginatorKeyFile>
11+
<Copyright>Marc Gravell, 2019-</Copyright>
12+
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
13+
<PackageProjectUrl>https://github.com/protobuf-net/protobuf-net.Grpc</PackageProjectUrl>
14+
<RepositoryUrl>https://github.com/protobuf-net/protobuf-net.Grpc</RepositoryUrl>
15+
<RepositoryType>git</RepositoryType>
16+
<Product>protobuf-net.Grpc ($(TargetFramework))</Product>
17+
<PackageReleaseNotes>https://protobuf-net.github.io/protobuf-net.Grpc/releasenotes#$(VersionPrefix)</PackageReleaseNotes>
1818

19-
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
20-
<PackageTags>grpc</PackageTags>
21-
<DebugSymbols>true</DebugSymbols>
22-
<DebugType>embedded</DebugType>
23-
<DefaultLanguage>en-US</DefaultLanguage>
24-
<IncludeSymbols>false</IncludeSymbols>
25-
<IsTestProject>$(MSBuildProjectName.Contains('Test'))</IsTestProject>
26-
<Nullable>enable</Nullable>
27-
<LangVersion>latest</LangVersion>
28-
<!--<CodeAnalysisRuleset>$(MSBuildThisFileDirectory)Shared.ruleset</CodeAnalysisRuleset>-->
19+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
20+
<PackageTags>grpc</PackageTags>
21+
<DebugSymbols>true</DebugSymbols>
22+
<DebugType>embedded</DebugType>
23+
<DefaultLanguage>en-US</DefaultLanguage>
24+
<IncludeSymbols>false</IncludeSymbols>
25+
<IsTestProject>$(MSBuildProjectName.Contains('Test'))</IsTestProject>
26+
<Nullable>enable</Nullable>
27+
<LangVersion>latest</LangVersion>
28+
<!--<CodeAnalysisRuleset>$(MSBuildThisFileDirectory)Shared.ruleset</CodeAnalysisRuleset>-->
2929

30-
<ExampleRefs>local</ExampleRefs>
31-
<!-- local or nuget-->
30+
<ExampleRefs>local</ExampleRefs>
31+
<!-- local or nuget-->
3232

33-
<ProtoBufNet2Version>2.4.8</ProtoBufNet2Version>
34-
</PropertyGroup>
35-
<PropertyGroup Condition="'$(Configuration)'=='Release' or '$(Configuration)'=='VS'">
36-
<GenerateDocumentationFile>true</GenerateDocumentationFile>
37-
<Optimize>true</Optimize>
38-
</PropertyGroup>
33+
<ProtoBufNet2Version>2.4.8</ProtoBufNet2Version>
34+
</PropertyGroup>
35+
<PropertyGroup Condition="'$(Configuration)'=='Release' or '$(Configuration)'=='VS'">
36+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
37+
<Optimize>true</Optimize>
38+
</PropertyGroup>
3939

40-
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
41-
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
42-
<Deterministic>true</Deterministic>
43-
<EmbedUntrackedSources>true</EmbedUntrackedSources>
44-
</PropertyGroup>
45-
<ItemGroup Condition="'$(Configuration)' == 'Release' and '$(SourceRoot)'==''">
46-
<SourceRoot Include="$(MSBuildThisFileDirectory)/"/>
47-
</ItemGroup>
40+
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
41+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
42+
<Deterministic>true</Deterministic>
43+
<EmbedUntrackedSources>true</EmbedUntrackedSources>
44+
</PropertyGroup>
45+
<ItemGroup Condition="'$(Configuration)' == 'Release' and '$(SourceRoot)'==''">
46+
<SourceRoot Include="$(MSBuildThisFileDirectory)/"/>
47+
</ItemGroup>
4848

49-
<ItemGroup>
50-
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="all" />
51-
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
52-
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="all" />
53-
</ItemGroup>
49+
<ItemGroup>
50+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="all" />
51+
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
52+
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="all" />
53+
</ItemGroup>
5454
</Project>

Directory.Packages.props

+34-34
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
<Project>
2-
<ItemGroup>
3-
<PackageVersion Include="protobuf-net" Version="3.2.30" />
4-
<PackageVersion Include="protobuf-net.BuildTools" Version="3.2.33" />
5-
<PackageVersion Include="protobuf-net.Core" Version="3.2.30" />
6-
<PackageVersion Include="protobuf-net.Grpc" Version="1.1.1" />
7-
<PackageVersion Include="protobuf-net.Reflection" Version="3.2.12" />
8-
<PackageVersion Include="Google.Protobuf" Version="3.28.2" />
9-
<PackageVersion Include="Grpc" Version="2.46.6" />
10-
<PackageVersion Include="Grpc.Core" Version="2.46.6" />
11-
<PackageVersion Include="Grpc.Tools" Version="2.67.0" />
12-
<PackageVersion Include="Grpc.Net.Client" Version="2.66.0" />
13-
<PackageVersion Include="Grpc.Core.Api" Version="2.66.0" />
14-
<PackageVersion Include="Grpc.AspNetCore.Server" Version="2.66.0" />
15-
<PackageVersion Include="Grpc.AspNetCore" Version="2.66.0" />
16-
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.66.0" />
17-
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.10" />
18-
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
19-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
20-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
21-
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
22-
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
23-
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.143" />
24-
<PackageVersion Include="System.IO.Pipelines" Version="8.0.0" />
25-
<PackageVersion Include="System.Memory" Version="4.5.5" />
26-
<PackageVersion Include="System.Reactive" Version="6.0.1" />
27-
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
28-
<PackageVersion Include="System.ServiceModel.Primitives" Version="8.0.0" />
29-
<PackageVersion Include="System.Threading.Channels" Version="8.0.0" />
30-
<PackageVersion Include="System.ValueTuple" Version="4.5.0" />
31-
<PackageVersion Include="xunit" Version="2.9.2" />
32-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
33-
<PackageVersion Include="TaskBuilder.fs" Version="2.1.0" />
34-
<PackageVersion Include="FSharp.Core" Version="8.0.401" />
35-
</ItemGroup>
2+
<ItemGroup>
3+
<PackageVersion Include="protobuf-net" Version="3.2.30" />
4+
<PackageVersion Include="protobuf-net.BuildTools" Version="3.2.33" />
5+
<PackageVersion Include="protobuf-net.Core" Version="3.2.30" />
6+
<PackageVersion Include="protobuf-net.Grpc" Version="1.2.2" />
7+
<PackageVersion Include="protobuf-net.Reflection" Version="3.2.12" />
8+
<PackageVersion Include="Google.Protobuf" Version="3.28.2" />
9+
<PackageVersion Include="Grpc" Version="2.46.6" />
10+
<PackageVersion Include="Grpc.Core" Version="2.46.6" />
11+
<PackageVersion Include="Grpc.Tools" Version="2.67.0" />
12+
<PackageVersion Include="Grpc.Net.Client" Version="2.66.0" />
13+
<PackageVersion Include="Grpc.Core.Api" Version="2.66.0" />
14+
<PackageVersion Include="Grpc.AspNetCore.Server" Version="2.66.0" />
15+
<PackageVersion Include="Grpc.AspNetCore" Version="2.66.0" />
16+
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.66.0" />
17+
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.10" />
18+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
19+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
20+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
21+
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
22+
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
23+
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.143" />
24+
<PackageVersion Include="System.IO.Pipelines" Version="8.0.0" />
25+
<PackageVersion Include="System.Memory" Version="4.5.5" />
26+
<PackageVersion Include="System.Reactive" Version="6.0.1" />
27+
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
28+
<PackageVersion Include="System.ServiceModel.Primitives" Version="8.0.0" />
29+
<PackageVersion Include="System.Threading.Channels" Version="8.0.0" />
30+
<PackageVersion Include="System.ValueTuple" Version="4.5.0" />
31+
<PackageVersion Include="xunit" Version="2.9.2" />
32+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
33+
<PackageVersion Include="TaskBuilder.fs" Version="2.1.0" />
34+
<PackageVersion Include="FSharp.Core" Version="8.0.401" />
35+
</ItemGroup>
3636
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
5-
<RootNamespace>ProtoBuf.Grpc.Server</RootNamespace>
6-
</PropertyGroup>
7-
8-
<ItemGroup>
9-
<ProjectReference Include="..\protobuf-net.Grpc\protobuf-net.Grpc.csproj" />
10-
<PackageReference Include="Grpc.AspNetCore.Server" />
11-
</ItemGroup>
3+
<PropertyGroup>
4+
<TargetFrameworks>net8.0</TargetFrameworks>
5+
<RootNamespace>ProtoBuf.Grpc.Server</RootNamespace>
6+
<RepositoryType>git</RepositoryType>
7+
<RepositoryUrl>https://github.com/protobuf-net/protobuf-net.Grpc</RepositoryUrl>
8+
9+
<!-- Hexesoft -->
10+
<PackageId>Hexesoft.ProtoBuf.Grpc.Server</PackageId>
11+
<IsPackable>true</IsPackable>
12+
<PackageProjectUrl>https://github.com/hexesoft/protobuf-net.Grpc</PackageProjectUrl>
13+
<GeneratePackageOnBuild Condition="'$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>
14+
<Version Condition="'$(BUILD_BUILDNUMBER)' == ''">$([System.DateTime]::Now.ToString('yyyy.M.d'))-dev</Version>
15+
<Version Condition="'$(BUILD_BUILDNUMBER)' != ''">$(BUILD_BUILDNUMBER)</Version>
16+
</PropertyGroup>
17+
18+
<ItemGroup>
19+
<ProjectReference Include="..\protobuf-net.Grpc\protobuf-net.Grpc.csproj" />
20+
<PackageReference Include="Grpc.AspNetCore.Server" />
21+
</ItemGroup>
22+
1223
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;netstandard2.1;net8.0</TargetFrameworks>
5-
<RootNamespace>ProtoBuf.Grpc.ClientFactory</RootNamespace>
6-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFrameworks>net8.0</TargetFrameworks>
5+
<RootNamespace>ProtoBuf.Grpc.ClientFactory</RootNamespace>
6+
<RepositoryType>git</RepositoryType>
7+
<RepositoryUrl>https://github.com/protobuf-net/protobuf-net.Grpc</RepositoryUrl>
8+
9+
<!-- Hexesoft -->
10+
<PackageId>Hexesoft.ProtoBuf.Grpc.ClientFactory</PackageId>
11+
<IsPackable>true</IsPackable>
12+
<PackageProjectUrl>https://github.com/hexesoft/protobuf-net.Grpc</PackageProjectUrl>
13+
<GeneratePackageOnBuild Condition="'$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>
14+
<Version Condition="'$(BUILD_BUILDNUMBER)' == ''">$([System.DateTime]::Now.ToString('yyyy.M.d'))-dev</Version>
15+
<Version Condition="'$(BUILD_BUILDNUMBER)' != ''">$(BUILD_BUILDNUMBER)</Version>
16+
</PropertyGroup>
717

8-
<ItemGroup>
9-
<PackageReference Include="Grpc.Net.ClientFactory" />
10-
<ProjectReference Include="..\protobuf-net.Grpc\protobuf-net.Grpc.csproj" />
11-
</ItemGroup>
18+
<ItemGroup>
19+
<PackageReference Include="Grpc.Net.ClientFactory" />
20+
<ProjectReference Include="..\protobuf-net.Grpc\protobuf-net.Grpc.csproj" />
21+
</ItemGroup>
1222

1323
</Project>

src/protobuf-net.Grpc/Configuration/ServerBinder.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public int Bind(object state, Type serviceType, BinderConfiguration? binderConfi
4040
Type[] typesBuffer = [];
4141
binderConfiguration ??= BinderConfiguration.Default;
4242
var potentialServiceContracts = typeof(IGrpcService).IsAssignableFrom(serviceType)
43-
? new HashSet<Type> {serviceType}
43+
? new HashSet<Type> { serviceType }
4444
: ContractOperation.ExpandInterfaces(serviceType);
4545

4646
bool serviceImplSimplifiedExceptions = serviceType.IsDefined(typeof(SimpleRpcExceptionsAttribute));
@@ -50,7 +50,7 @@ public int Bind(object state, Type serviceType, BinderConfiguration? binderConfi
5050

5151
// now that we know it is a service contract type for sure
5252
var serviceContract = potentialServiceContract;
53-
53+
5454
var typesToBeIncludedInMethodsBinding =
5555
ContractOperation.ExpandWithInterfacesMarkedAsSubService(binderConfiguration.Binder, serviceContract);
5656

@@ -64,7 +64,7 @@ public int Bind(object state, Type serviceType, BinderConfiguration? binderConfi
6464
var serviceContractSimplifiedExceptions = serviceImplSimplifiedExceptions ||
6565
typeToBindItsMethods.IsDefined(
6666
typeof(SimpleRpcExceptionsAttribute));
67-
var bindCtx = new ServiceBindContext(serviceContract, serviceType, state, binderConfiguration.Binder);
67+
var bindCtx = new ServiceBindContext(typeToBindItsMethods, serviceType, state, binderConfiguration.Binder);
6868
foreach (var op in ContractOperation.FindOperations(binderConfiguration, typeToBindItsMethods, this))
6969
{
7070
if (ServerInvokerLookup.TryGetValue(op.MethodType, op.Context, op.Arg, op.Result, op.Void, out var invoker)
@@ -114,7 +114,7 @@ bool AddMethod(string? serviceName, Type @in, Type @out, string on, MethodInfo m
114114
// 6, 7 set during array initialization
115115
argsBuffer[8] = simplifiedExceptionHandling;
116116

117-
return (bool) s_addMethod.MakeGenericMethod(typesBuffer).Invoke(this, argsBuffer)!;
117+
return (bool)s_addMethod.MakeGenericMethod(typesBuffer).Invoke(this, argsBuffer)!;
118118
}
119119
catch (Exception fail)
120120
{
@@ -180,7 +180,7 @@ public TDelegate CreateDelegate<TDelegate>()
180180
else
181181
{
182182
// basic - direct call
183-
return (TDelegate) Delegate.CreateDelegate(typeof(TDelegate), _service, Method);
183+
return (TDelegate)Delegate.CreateDelegate(typeof(TDelegate), _service, Method);
184184
}
185185
}
186186
else
@@ -234,8 +234,8 @@ static Expression ApplySimpleExceptionHandling(Expression body)
234234
#pragma warning disable CS0618
235235
private static readonly Dictionary<int, MethodInfo> s_ReshapeWithSimpleExceptionHandling =
236236
(from method in typeof(Reshape).GetMethods(BindingFlags.Public | BindingFlags.Static)
237-
where method.Name is nameof(Reshape.WithSimpleExceptionHandling)
238-
select method)
237+
where method.Name is nameof(Reshape.WithSimpleExceptionHandling)
238+
select method)
239239
.ToDictionary(method => method.IsGenericMethodDefinition ? method.GetGenericArguments().Length : 0);
240240
#pragma warning restore CS0618
241241

+23-22
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<TargetFrameworks>net462;netstandard2.1;netstandard2.0;net6.0;net8.0</TargetFrameworks>
4-
<RootNamespace>ProtoBuf.Grpc</RootNamespace>
5-
<DefineConstants>$(DefineConstants);PLAT_NO_CHANNEL_READALLASYNC</DefineConstants>
6-
</PropertyGroup>
7-
<ItemGroup>
8-
<PackageReference Include="Grpc.Core.Api" />
9-
<PackageReference Include="protobuf-net" VersionOverride="$(ProtoBufNet2Version)" />
10-
<PackageReference Include="System.IO.Pipelines" />
11-
</ItemGroup>
12-
<ItemGroup Condition="'$(TargetFramework)' == 'net462' or '$(TargetFramework)' == 'netstandard2.0'">
13-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" />
14-
<PackageReference Include="System.Threading.Channels" />
15-
</ItemGroup>
16-
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
17-
<!-- need to be explicit to avoid fight with System.IO.Pipelines -->
18-
<PackageReference Include="System.ValueTuple" />
19-
</ItemGroup>
20-
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
21-
<PackageReference Include="System.Threading.Channels" />
22-
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" />
23-
</ItemGroup>
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net8.0</TargetFrameworks>
5+
<DefineConstants>$(DefineConstants);PLAT_NO_CHANNEL_READALLASYNC</DefineConstants>
6+
<RootNamespace>ProtoBuf.Grpc</RootNamespace>
7+
<RepositoryType>git</RepositoryType>
8+
<RepositoryUrl>https://github.com/protobuf-net/protobuf-net.Grpc</RepositoryUrl>
9+
10+
<!-- Hexesoft -->
11+
<PackageId>Hexesoft.ProtoBuf.Grpc</PackageId>
12+
<PackageProjectUrl>https://github.com/hexesoft/protobuf-net.Grpc</PackageProjectUrl>
13+
<IsPackable>true</IsPackable>
14+
<GeneratePackageOnBuild Condition="'$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>
15+
<Version Condition="'$(BUILD_BUILDNUMBER)' == ''">$([System.DateTime]::Now.ToString('yyyy.M.d'))-dev</Version>
16+
<Version Condition="'$(BUILD_BUILDNUMBER)' != ''">$(BUILD_BUILDNUMBER)</Version>
17+
</PropertyGroup>
18+
19+
<ItemGroup>
20+
<PackageReference Include="Grpc.Core.Api" />
21+
<PackageReference Include="protobuf-net" />
22+
<PackageReference Include="System.IO.Pipelines" />
23+
</ItemGroup>
24+
2425
</Project>

0 commit comments

Comments
 (0)