Azure / azure-relay-aspnetserver

ASP.NET Core Hosting for Azure Relay
Other
15 stars 27 forks source link

Add dotnet core 3.0 support #14

Closed ivadim closed 4 years ago

ivadim commented 4 years ago

This PR adds netstandard2.1 and netcoreapp3.0 target frameworks support. Changes:

Validation:

clemensv commented 4 years ago

for netstandard2.1 compilation replace IHttpResponseFeature.Body, IHttpBufferingFeature and IHttpSendFileFeature with IHttpResponseBodyFeature

What does that mean?

Does the build produce two distinct targets/packages? #Resolved

ivadim commented 4 years ago

Does the build produce two distinct targets/packages?

Yes, it produces 2 dlls: one targeting .netstandard2.0 and another .netstandard2.1. Inside nuget they will be separated into 2 different folders. Nuget structure:

nuget\
         |-lib\
               -netstandard2.0\
                                         -Microsoft.Azure.Relay.AspNetCore.dll
               -netstandard2.1\
                                         -Microsoft.Azure.Relay.AspNetCore.dll

and generated nuspec

<dependencies>
      <group targetFramework=".NETStandard2.0">
        <dependency id="Microsoft.AspNetCore.Authentication.Core" version="2.1.1" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Hosting" version="2.1.1" exclude="Build,Analyzers" />
        <dependency id="Microsoft.Azure.Relay" version="2.0.1" exclude="Build,Analyzers" />
        <dependency id="Microsoft.Net.Http.Headers" version="2.1.1" exclude="Build,Analyzers" />
        <dependency id="System.Threading.Tasks.Dataflow" version="4.10.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard2.1">
        <dependency id="Microsoft.AspNetCore.Authentication.Core" version="2.2.0" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Hosting" version="2.2.7" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Http.Features" version="3.0.0" exclude="Build,Analyzers" />
        <dependency id="Microsoft.Azure.Relay" version="2.0.1" exclude="Build,Analyzers" />
        <dependency id="Microsoft.Net.Http.Headers" version="2.2.0" exclude="Build,Analyzers" />
        <dependency id="System.Threading.Tasks.Dataflow" version="4.10.0" exclude="Build,Analyzers" />
      </group>
    </dependencies>

User of the lib will get one of them automatically based on the targeted framework

Resolved

clemensv commented 4 years ago

Great. We're chasing a service-side issue that we just stumbled into as we were verifying the PR and will likely just merge it once we're done w/ that investigation. Thank you! #Closed

ivadim commented 4 years ago

@clemensv would it be possible to produce an official nuget package to nuget.org after merge?