Closed scheyal closed 3 years ago
@mrivera-ms to follow up.
Per offline discussion with @scheyal, this needs to be addressed by the Orchestrator dev team. Closing as no further action is needed from the SDK team.
More info:
So sniffing a bit more, it looks like all our SDKs are targeting netstandard2.0. Orchestrator assembly is the odd one out targeting netcoreapp3.1, and it cannot go below netstandard2.1 due to native Unicode dependency. If I get this right, it’d create a bit of friction out of the box when dev is trying to use Orchestrator having to align their targets.
So I guess, the work here is to ensure all our assemblies are targeting the same framework version e.g.:
Other considerations:
Adapters\Microsoft.Bot.Builder.Adapters.Facebook\Microsoft.Bot.Builder.Adapters.Facebook.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Slack\Microsoft.Bot.Builder.Adapters.Slack.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Adapters\Microsoft.Bot.Builder.Adapters.Webex\Microsoft.Bot.Builder.Adapters.Webex.csproj: <TargetFramework>netstandard2.0</TargetFramework>
AdaptiveExpressions\AdaptiveExpressions.csproj: <TargetFramework>netstandard2.0</TargetFramework>
integration\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj: <TargetFramework>net461</TargetFramework>
integration\Microsoft.Bot.Builder.Integration.AspNet.WebApi\Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj: <TargetFramework>net461</TargetFramework>
Microsoft.Bot.Builder\Microsoft.Bot.Builder.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.AI.LUIS\Microsoft.Bot.Builder.AI.Luis.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.AI.Orchestrator\Microsoft.Bot.Builder.AI.Orchestrator.csproj: <TargetFramework>netcoreapp3.1</TargetFramework>
Microsoft.Bot.Builder.AI.QnA\Microsoft.Bot.Builder.AI.QnA.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.ApplicationInsights\Microsoft.Bot.Builder.ApplicationInsights.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure\Microsoft.Bot.Builder.Azure.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure.Blobs\Microsoft.Bot.Builder.Azure.Blobs.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Azure.Queues\Microsoft.Bot.Builder.Azure.Queues.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs\Microsoft.Bot.Builder.Dialogs.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive\Microsoft.Bot.Builder.Dialogs.Adaptive.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive.Teams\Microsoft.Bot.Builder.Dialogs.Adaptive.Teams.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Adaptive.Testing\Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Debugging\Microsoft.Bot.Builder.Dialogs.Debugging.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Dialogs.Declarative\Microsoft.Bot.Builder.Dialogs.Declarative.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.LanguageGeneration\Microsoft.Bot.Builder.LanguageGeneration.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.TemplateManager\Microsoft.Bot.Builder.TemplateManager.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Builder.Testing\Microsoft.Bot.Builder.Testing.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Configuration\Microsoft.Bot.Configuration.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Microsoft.Bot.Streaming\Microsoft.Bot.Streaming.csproj: <TargetFramework>netstandard2.0</TargetFramework>
Parsers\Microsoft.Bot.Builder.Parsers.LU\Microsoft.Bot.Builder.Parsers.LU.csproj: <TargetFramework>netstandard2.0</TargetFramework>
From: https://docs.microsoft.com/en-us/dotnet/standard/net-standard#which-net-standard-version-to-target
netstandard2.0 is contained within netstandard2.1
We recommend you target the lowest version of .NET Standard possible.
The higher the version, the more APIs are available to your library's code.
The lower the version, the more apps and libraries can use your library.
It seems odd to change the minimum requirements for the underlying sdk, because one consuming package has a higher minimum requirement.
Also, raising this to 2.1 in the sdk would be a breaking change, and require a major version bump?
I think we can close this issue out, as we have discussed an R12 plan. if we need to address this in R13, it will be part of a larger work item and we will track that with new tickets.
Orchestrator requires netstandard 2.1 or greater for support of LPUTF8Str (Unicode etc).