From 2963d0da2255b343fa6ffdbee414776dda0e61ca Mon Sep 17 00:00:00 2001 From: Gabo Gilabert Date: Fri, 12 Jun 2020 16:42:12 -0400 Subject: [PATCH] Sets warnings as errors and adds FxCop analyzer to Schema project. (#4061) * Configured TreatWarningsAsErrors on all projects in the libraries folder except for Microsoft.Bot.Builder.Dialogs.Adaptive.Testing (that needs to be addressed separatelly). Created Directory.Build.props for FunctionalTests and Tests to manage excludes for the projects in those folders. Added NoWarn properties for documentation on each project (these will be addressed by another issue). Fixed long hanging fruit warnings. Added Roslyn FxCop analyzer to Microsoft.Bot.Schema and fixed violation or excluded them using #pragma. * Fixed binary compat issues * Fixed more binary compat issues --- Directory.Build.props | 9 +- FunctionalTests/Directory.Build.props | 10 + Microsoft.Bot.Builder.sln | 9 + libraries/Adapters/Directory.Build.props | 2 + ...osoft.Bot.Builder.Adapters.Facebook.csproj | 13 +- ...icrosoft.Bot.Builder.Adapters.Slack.csproj | 14 +- ...crosoft.Bot.Builder.Adapters.Twilio.csproj | 18 +- .../TwilioClientWrapper.cs | 6 + ...icrosoft.Bot.Builder.Adapters.Webex.csproj | 16 +- .../AdaptiveExpressions.csproj | 9 +- libraries/AdaptiveExpressions/Expression.cs | 1 - libraries/AdaptiveExpressions/Options.cs | 2 +- .../LuisRecognizer.cs | 1 + .../Microsoft.Bot.Builder.AI.Luis.csproj | 11 +- .../Microsoft.Bot.Builder.AI.QnA.csproj | 11 +- ...oft.Bot.Builder.ApplicationInsights.csproj | 6 +- .../CosmosDbPartitionedStorageOptions.cs | 2 +- .../Microsoft.Bot.Builder.Azure.csproj | 11 +- ...ot.Builder.Dialogs.Adaptive.Testing.csproj | 16 +- ...rosoft.Bot.Builder.Dialogs.Adaptive.csproj | 11 +- ...osoft.Bot.Builder.Dialogs.Debugging.csproj | 11 +- ...oft.Bot.Builder.Dialogs.Declarative.csproj | 11 +- .../Memory/Scopes/ReadOnlyObject.cs | 1 - .../Microsoft.Bot.Builder.Dialogs.csproj | 11 +- ...soft.Bot.Builder.LanguageGeneration.csproj | 11 +- ...crosoft.Bot.Builder.TemplateManager.csproj | 11 +- .../Microsoft.Bot.Builder.Testing.csproj | 6 +- .../XUnit/TestDataObject.cs | 5 +- .../XUnit/XUnitDialogTestLogger.cs | 8 + .../Microsoft.Bot.Builder.csproj | 9 +- .../Streaming/StreamingRequestHandler.cs | 1 + .../Microsoft.Bot.Configuration.csproj | 11 +- .../Microsoft.Bot.Connector.csproj | 11 +- libraries/Microsoft.Bot.Schema/Activity.cs | 177 ++++++++++++++++-- libraries/Microsoft.Bot.Schema/ActivityEx.cs | 18 +- .../Microsoft.Bot.Schema/AttachmentEx.cs | 2 + .../Microsoft.Bot.Schema/CardActionEx.cs | 10 + .../Microsoft.Bot.Schema/ChannelAccountEx.cs | 2 + .../ConversationAccountEx.cs | 2 + libraries/Microsoft.Bot.Schema/EntityEx.cs | 4 +- libraries/Microsoft.Bot.Schema/ErrorCodes.cs | 2 + .../Microsoft.Bot.Schema/GeoCoordinates.cs | 8 +- .../Microsoft.Bot.Schema/HealthResults.cs | 2 + libraries/Microsoft.Bot.Schema/IActivity.cs | 10 + .../IConversationUpdateActivity.cs | 4 + .../Microsoft.Bot.Schema/IMessageActivity.cs | 2 + .../IMessageReactionActivity.cs | 4 + .../ISuggestionActivity.cs | 2 + libraries/Microsoft.Bot.Schema/Mention.cs | 9 +- .../Microsoft.Bot.Schema.csproj | 15 +- libraries/Microsoft.Bot.Schema/Place.cs | 8 +- .../Teams/TeamsPagedMembersResult.cs | 2 + .../TokenExchangeInvokeRequest.cs | 2 + .../TokenExchangeInvokeResponse.cs | 2 + .../TokenExchangeState.cs | 2 + .../Microsoft.Bot.Streaming.csproj | 9 +- ...ntegration.ApplicationInsights.Core.csproj | 11 +- ...egration.ApplicationInsights.WebApi.csproj | 11 +- ...Bot.Builder.Integration.AspNet.Core.csproj | 11 +- ...t.Builder.Integration.AspNet.WebApi.csproj | 9 +- tests/Directory.Build.props | 10 + .../CardActionTest.cs | 15 +- 62 files changed, 473 insertions(+), 177 deletions(-) create mode 100644 FunctionalTests/Directory.Build.props create mode 100644 tests/Directory.Build.props diff --git a/Directory.Build.props b/Directory.Build.props index ad71e73b5..266700541 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -34,8 +34,6 @@ $(SolutionDir)\build\35MSSharedLib1024.snk - true - $(NoWarn),1573,1591,1712 true true @@ -44,11 +42,6 @@ SIGNASSEMBLY - - - $(NoWarn);SA0001 - - https://github.com/Microsoft/botbuilder-dotnet @@ -65,7 +58,7 @@ Suppress a warning about upcoming deprecation of PackageLicenseUrl. When embedding licenses are supported, replace PackageLicenseUrl with PackageLicenseExpression. --> - $(NoWarn);NU5125 + NU5125 true true snupkg diff --git a/FunctionalTests/Directory.Build.props b/FunctionalTests/Directory.Build.props new file mode 100644 index 000000000..421e45f89 --- /dev/null +++ b/FunctionalTests/Directory.Build.props @@ -0,0 +1,10 @@ + + + + + $(NoWarn);SA0001;CS1573,CS1591,CS1712 + + + + + diff --git a/Microsoft.Bot.Builder.sln b/Microsoft.Bot.Builder.sln index 27550ff8f..acc8dc996 100644 --- a/Microsoft.Bot.Builder.sln +++ b/Microsoft.Bot.Builder.sln @@ -5,6 +5,9 @@ MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{4269F3C3-6B42-419B-B64A-3E6DC0F1574A}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{AD743B78-D61F-4FBF-B620-FA83CE599A50}" + ProjectSection(SolutionItems) = preProject + tests\Directory.Build.props = tests\Directory.Build.props + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.Dialogs.Adaptive", "libraries\Microsoft.Bot.Builder.Dialogs.Adaptive\Microsoft.Bot.Builder.Dialogs.Adaptive.csproj", "{3CF175CF-1AF4-4109-96CB-221684DCED7D}" EndProject @@ -71,6 +74,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.FunctionalTests", "FunctionalTests\Microsoft.Bot.Builder.FunctionalTests\Microsoft.Bot.Builder.FunctionalTests.csproj", "{B9DDC8CB-8EDF-4D98-913A-22F19E642223}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FunctionalTests", "FunctionalTests", "{8667F820-8ADA-4498-91AE-AE95DEE5227E}" + ProjectSection(SolutionItems) = preProject + FunctionalTests\Directory.Build.props = FunctionalTests\Directory.Build.props + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.Testing", "libraries\Microsoft.Bot.Builder.Testing\Microsoft.Bot.Builder.Testing.csproj", "{060F070A-BBFA-490E-BE89-3844C857B771}" EndProject @@ -111,6 +117,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.AI.LuisV3.Tests", "tests\Microsoft.Bot.Builder.Ai.LUISV3.tests\Microsoft.Bot.Builder.AI.LuisV3.Tests.csproj", "{474C57B1-C9FC-4B71-A92B-B25BA27FAFA7}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Adapters", "Adapters", "{6230B915-B238-4E57-AAC4-06B4498F540F}" + ProjectSection(SolutionItems) = preProject + libraries\Adapters\Directory.Build.props = libraries\Adapters\Directory.Build.props + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.Adapters.Twilio", "libraries\Adapters\Microsoft.Bot.Builder.Adapters.Twilio\Microsoft.Bot.Builder.Adapters.Twilio.csproj", "{1D1AD39B-EBCF-4960-930E-84246DEF6AAE}" EndProject diff --git a/libraries/Adapters/Directory.Build.props b/libraries/Adapters/Directory.Build.props index 6a30f785a..c8c790106 100644 --- a/libraries/Adapters/Directory.Build.props +++ b/libraries/Adapters/Directory.Build.props @@ -1,4 +1,5 @@ + all @@ -6,5 +7,6 @@ + \ No newline at end of file diff --git a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Facebook/Microsoft.Bot.Builder.Adapters.Facebook.csproj b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Facebook/Microsoft.Bot.Builder.Adapters.Facebook.csproj index 584d9f257..be434ab95 100644 --- a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Facebook/Microsoft.Bot.Builder.Adapters.Facebook.csproj +++ b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Facebook/Microsoft.Bot.Builder.Adapters.Facebook.csproj @@ -6,6 +6,8 @@ $(PreviewPackageVersion) Debug;Release true + true + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Facebook.xml @@ -15,17 +17,16 @@ This library implements C# classes for the Facebook adapter. - - bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Facebook.xml - true - - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Slack/Microsoft.Bot.Builder.Adapters.Slack.csproj b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Slack/Microsoft.Bot.Builder.Adapters.Slack.csproj index 9a5909cd7..2ac256dac 100644 --- a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Slack/Microsoft.Bot.Builder.Adapters.Slack.csproj +++ b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Slack/Microsoft.Bot.Builder.Adapters.Slack.csproj @@ -6,6 +6,8 @@ $(PreviewPackageVersion) Debug;Release; true + true + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Slack.xml @@ -17,17 +19,17 @@ $(NoWarn),CS8002 - - bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Slack.xml - true - - - Full true + + + + $(NoWarn);CS8002;CS1591 + + diff --git a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/Microsoft.Bot.Builder.Adapters.Twilio.csproj b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/Microsoft.Bot.Builder.Adapters.Twilio.csproj index 73527fa33..38f7428b4 100644 --- a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/Microsoft.Bot.Builder.Adapters.Twilio.csproj +++ b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/Microsoft.Bot.Builder.Adapters.Twilio.csproj @@ -6,6 +6,8 @@ $(PreviewPackageVersion) Debug;Release true + true + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Twilio.xml @@ -15,23 +17,17 @@ This library implements C# classes for Twilio adapter. + + Full + true + + netstandard2.0 $(NoWarn),CS8002 - - bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Twilio.xml - true - - - - - Full - true - - diff --git a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/TwilioClientWrapper.cs b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/TwilioClientWrapper.cs index 07b6d25bc..231374d66 100644 --- a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/TwilioClientWrapper.cs +++ b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Twilio/TwilioClientWrapper.cs @@ -46,6 +46,12 @@ namespace Microsoft.Bot.Builder.Adapters.Twilio TwilioClient.Init(Options.TwilioAccountSid, Options.TwilioAuthToken); } + /// + /// Gets the for the wrapper. + /// + /// + /// The for the wrapper. + /// public TwilioAdapterOptions Options { get; } /// diff --git a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Webex/Microsoft.Bot.Builder.Adapters.Webex.csproj b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Webex/Microsoft.Bot.Builder.Adapters.Webex.csproj index d2513d59d..6b3dcba7d 100644 --- a/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Webex/Microsoft.Bot.Builder.Adapters.Webex.csproj +++ b/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Webex/Microsoft.Bot.Builder.Adapters.Webex.csproj @@ -6,6 +6,8 @@ $(PreviewPackageVersion) Debug;Release; true + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Webex.xml + true @@ -13,14 +15,6 @@ Microsoft.Bot.Builder.Adapters.Webex Library for connecting bots with Webex Teams API. This library implements C# classes for the Webex Adapter - - $(NoWarn),CS8002 - - - - bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Adapters.Webex.xml - true - @@ -28,6 +22,12 @@ true + + + + $(NoWarn);CS8002;CS1591 + + diff --git a/libraries/AdaptiveExpressions/AdaptiveExpressions.csproj b/libraries/AdaptiveExpressions/AdaptiveExpressions.csproj index b937cae08..a9eb11e1f 100644 --- a/libraries/AdaptiveExpressions/AdaptiveExpressions.csproj +++ b/libraries/AdaptiveExpressions/AdaptiveExpressions.csproj @@ -7,10 +7,8 @@ $(ReleasePackageVersion) Debug;Release true - - - bin\$(Configuration)\netstandard2.0\AdaptiveExpressions.xml + true @@ -18,6 +16,11 @@ true + + + $(NoWarn);CS1591 + + netstandard2.0 AdaptiveExpressions diff --git a/libraries/AdaptiveExpressions/Expression.cs b/libraries/AdaptiveExpressions/Expression.cs index dace20d7d..c902bd52d 100644 --- a/libraries/AdaptiveExpressions/Expression.cs +++ b/libraries/AdaptiveExpressions/Expression.cs @@ -345,7 +345,6 @@ namespace AdaptiveExpressions /// Return all static paths to memory. If there is a computed element index, then the path is terminated there, /// but you might get other paths from the computed part as well. /// - /// Expression to get references from. /// List of the static reference paths. public IReadOnlyList References() { diff --git a/libraries/AdaptiveExpressions/Options.cs b/libraries/AdaptiveExpressions/Options.cs index f74e6dca8..9e23f39f6 100644 --- a/libraries/AdaptiveExpressions/Options.cs +++ b/libraries/AdaptiveExpressions/Options.cs @@ -21,7 +21,7 @@ namespace AdaptiveExpressions /// Gets or sets a value, a function that been called when there is null value hit in memory. /// /// - /// The delegate. + /// The function delegate. /// public Func NullSubstitution { get; set; } = null; } diff --git a/libraries/Microsoft.Bot.Builder.AI.LUIS/LuisRecognizer.cs b/libraries/Microsoft.Bot.Builder.AI.LUIS/LuisRecognizer.cs index 5b8f75f6e..16954ad55 100644 --- a/libraries/Microsoft.Bot.Builder.AI.LUIS/LuisRecognizer.cs +++ b/libraries/Microsoft.Bot.Builder.AI.LUIS/LuisRecognizer.cs @@ -462,6 +462,7 @@ namespace Microsoft.Bot.Builder.AI.Luis /// LuisRecognizerOptions implementation to override current properties. /// Additional properties to be logged to telemetry with the LuisResult event. /// Additional metrics to be logged to telemetry with the LuisResult event. + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// RecognizerResult object. private async Task RecognizeInternalAsync(ITurnContext turnContext, LuisRecognizerOptions predictionOptions, Dictionary telemetryProperties, Dictionary telemetryMetrics, CancellationToken cancellationToken) { diff --git a/libraries/Microsoft.Bot.Builder.AI.LUIS/Microsoft.Bot.Builder.AI.Luis.csproj b/libraries/Microsoft.Bot.Builder.AI.LUIS/Microsoft.Bot.Builder.AI.Luis.csproj index ff4d41040..9248fea6e 100644 --- a/libraries/Microsoft.Bot.Builder.AI.LUIS/Microsoft.Bot.Builder.AI.Luis.csproj +++ b/libraries/Microsoft.Bot.Builder.AI.LUIS/Microsoft.Bot.Builder.AI.Luis.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.AI.Luis.xml + true @@ -16,15 +18,16 @@ content - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.AI.Luis.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Builder.AI.QnA/Microsoft.Bot.Builder.AI.QnA.csproj b/libraries/Microsoft.Bot.Builder.AI.QnA/Microsoft.Bot.Builder.AI.QnA.csproj index c7078d482..1406c9056 100644 --- a/libraries/Microsoft.Bot.Builder.AI.QnA/Microsoft.Bot.Builder.AI.QnA.csproj +++ b/libraries/Microsoft.Bot.Builder.AI.QnA/Microsoft.Bot.Builder.AI.QnA.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.AI.QnA.xml + true @@ -15,15 +17,16 @@ content - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.AI.QnA.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Builder.ApplicationInsights/Microsoft.Bot.Builder.ApplicationInsights.csproj b/libraries/Microsoft.Bot.Builder.ApplicationInsights/Microsoft.Bot.Builder.ApplicationInsights.csproj index cac0b74e0..c76313f82 100644 --- a/libraries/Microsoft.Bot.Builder.ApplicationInsights/Microsoft.Bot.Builder.ApplicationInsights.csproj +++ b/libraries/Microsoft.Bot.Builder.ApplicationInsights/Microsoft.Bot.Builder.ApplicationInsights.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.ApplicationInsights.xml + true @@ -16,10 +18,6 @@ This library provides integration between the Microsoft Bot Builder SDK and Application Insights. - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.ApplicationInsights.xml - - Full true diff --git a/libraries/Microsoft.Bot.Builder.Azure/CosmosDbPartitionedStorageOptions.cs b/libraries/Microsoft.Bot.Builder.Azure/CosmosDbPartitionedStorageOptions.cs index d9d4f9a78..e1a7dfaec 100644 --- a/libraries/Microsoft.Bot.Builder.Azure/CosmosDbPartitionedStorageOptions.cs +++ b/libraries/Microsoft.Bot.Builder.Azure/CosmosDbPartitionedStorageOptions.cs @@ -59,7 +59,7 @@ namespace Microsoft.Bot.Builder.Azure public int ContainerThroughput { get; set; } = 400; /// - /// Gets or sets the suffix to be added to every key. . + /// Gets or sets the suffix to be added to every key. . /// /// Note: must be set to 'false' to use a KeySuffix. /// When KeySuffix is used, keys will NOT be truncated but an exception will be thrown if diff --git a/libraries/Microsoft.Bot.Builder.Azure/Microsoft.Bot.Builder.Azure.csproj b/libraries/Microsoft.Bot.Builder.Azure/Microsoft.Bot.Builder.Azure.csproj index 42a027ee3..aa66e2a32 100644 --- a/libraries/Microsoft.Bot.Builder.Azure/Microsoft.Bot.Builder.Azure.csproj +++ b/libraries/Microsoft.Bot.Builder.Azure/Microsoft.Bot.Builder.Azure.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Azure.xml + true @@ -13,15 +15,16 @@ Azure classes for using Azure Services on the Microsoft Bot Builder SDK - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Azure.xml - - Full true + + + $(NoWarn);CS1591 + + @@ -17,21 +22,22 @@ content - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.xml - - Full true + + + $(NoWarn);CS1591 + + - + diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Microsoft.Bot.Builder.Dialogs.Adaptive.csproj b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Microsoft.Bot.Builder.Dialogs.Adaptive.csproj index 5788a436b..3bfe81891 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Microsoft.Bot.Builder.Dialogs.Adaptive.csproj +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Microsoft.Bot.Builder.Dialogs.Adaptive.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Adaptive.xml + true @@ -17,15 +19,16 @@ content - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Adaptive.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Debugging/Microsoft.Bot.Builder.Dialogs.Debugging.csproj b/libraries/Microsoft.Bot.Builder.Dialogs.Debugging/Microsoft.Bot.Builder.Dialogs.Debugging.csproj index 89f709d13..3357e24ee 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs.Debugging/Microsoft.Bot.Builder.Dialogs.Debugging.csproj +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Debugging/Microsoft.Bot.Builder.Dialogs.Debugging.csproj @@ -7,6 +7,8 @@ $(PreviewPackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Debugging.xml + true @@ -17,14 +19,15 @@ content - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Debugging.xml - - Full true + + + + $(NoWarn);CS1591 + diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Declarative/Microsoft.Bot.Builder.Dialogs.Declarative.csproj b/libraries/Microsoft.Bot.Builder.Dialogs.Declarative/Microsoft.Bot.Builder.Dialogs.Declarative.csproj index 4590e311f..b847442f2 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs.Declarative/Microsoft.Bot.Builder.Dialogs.Declarative.csproj +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Declarative/Microsoft.Bot.Builder.Dialogs.Declarative.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Declarative.xml + true @@ -16,14 +18,15 @@ content - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.Declarative.xml - - Full true + + + + $(NoWarn);CS1591 + diff --git a/libraries/Microsoft.Bot.Builder.Dialogs/Memory/Scopes/ReadOnlyObject.cs b/libraries/Microsoft.Bot.Builder.Dialogs/Memory/Scopes/ReadOnlyObject.cs index ae6bf2f55..1720835cb 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs/Memory/Scopes/ReadOnlyObject.cs +++ b/libraries/Microsoft.Bot.Builder.Dialogs/Memory/Scopes/ReadOnlyObject.cs @@ -22,7 +22,6 @@ namespace Microsoft.Bot.Builder.Dialogs.Memory.Scopes /// /// Initializes a new instance of the class. /// - /// dialog context for evalutation of expression properties. /// object to wrap. Any expression properties on it will be evaluated using the dc. public ReadOnlyObject(object obj) { diff --git a/libraries/Microsoft.Bot.Builder.Dialogs/Microsoft.Bot.Builder.Dialogs.csproj b/libraries/Microsoft.Bot.Builder.Dialogs/Microsoft.Bot.Builder.Dialogs.csproj index 10591fa59..5c8e57f41 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs/Microsoft.Bot.Builder.Dialogs.csproj +++ b/libraries/Microsoft.Bot.Builder.Dialogs/Microsoft.Bot.Builder.Dialogs.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.xml + true @@ -18,15 +20,16 @@ This library implements .NET Simple Dialog classes - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Dialogs.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Builder.LanguageGeneration/Microsoft.Bot.Builder.LanguageGeneration.csproj b/libraries/Microsoft.Bot.Builder.LanguageGeneration/Microsoft.Bot.Builder.LanguageGeneration.csproj index 93e178e8d..61fb38878 100644 --- a/libraries/Microsoft.Bot.Builder.LanguageGeneration/Microsoft.Bot.Builder.LanguageGeneration.csproj +++ b/libraries/Microsoft.Bot.Builder.LanguageGeneration/Microsoft.Bot.Builder.LanguageGeneration.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.LanguageGeneration.xml + true @@ -16,14 +18,15 @@ This library implements Language Generation template library system for the Bot Builder SDK - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.LanguageGeneration.xml - - Full true + + + + $(NoWarn);CS1591 + diff --git a/libraries/Microsoft.Bot.Builder.TemplateManager/Microsoft.Bot.Builder.TemplateManager.csproj b/libraries/Microsoft.Bot.Builder.TemplateManager/Microsoft.Bot.Builder.TemplateManager.csproj index 71b88a621..034913d2b 100644 --- a/libraries/Microsoft.Bot.Builder.TemplateManager/Microsoft.Bot.Builder.TemplateManager.csproj +++ b/libraries/Microsoft.Bot.Builder.TemplateManager/Microsoft.Bot.Builder.TemplateManager.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release; true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.TemplateManager.xml + true @@ -14,15 +16,16 @@ This library implements .NET TemplateManager classes to manage libraries of template renderers in Microsoft Bot Builder SDK v4 - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.TemplateManager.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Builder.Testing/Microsoft.Bot.Builder.Testing.csproj b/libraries/Microsoft.Bot.Builder.Testing/Microsoft.Bot.Builder.Testing.csproj index b21d8cec0..08c9f26b0 100644 --- a/libraries/Microsoft.Bot.Builder.Testing/Microsoft.Bot.Builder.Testing.csproj +++ b/libraries/Microsoft.Bot.Builder.Testing/Microsoft.Bot.Builder.Testing.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Testing.xml + true @@ -16,10 +18,6 @@ Library for building bot tests using Microsoft Bot Framework Connector - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.Testing.xml - - Full true diff --git a/libraries/Microsoft.Bot.Builder.Testing/XUnit/TestDataObject.cs b/libraries/Microsoft.Bot.Builder.Testing/XUnit/TestDataObject.cs index 895d3902e..fdae5d724 100644 --- a/libraries/Microsoft.Bot.Builder.Testing/XUnit/TestDataObject.cs +++ b/libraries/Microsoft.Bot.Builder.Testing/XUnit/TestDataObject.cs @@ -19,9 +19,12 @@ namespace Microsoft.Bot.Builder.Testing.XUnit { private const string TestObjectKey = "TestObjectKey"; - // Needed by serializer + /// + /// Initializes a new instance of the class. + /// public TestDataObject() { + // Note: This empty constructor is needed by the serializer. } /// diff --git a/libraries/Microsoft.Bot.Builder.Testing/XUnit/XUnitDialogTestLogger.cs b/libraries/Microsoft.Bot.Builder.Testing/XUnit/XUnitDialogTestLogger.cs index 0bfd4a566..92ce4337e 100644 --- a/libraries/Microsoft.Bot.Builder.Testing/XUnit/XUnitDialogTestLogger.cs +++ b/libraries/Microsoft.Bot.Builder.Testing/XUnit/XUnitDialogTestLogger.cs @@ -45,6 +45,14 @@ namespace Microsoft.Bot.Builder.Testing.XUnit /// The instance for this middleware. protected ITestOutputHelper Output { get; } + /// + /// Processes the incoming activity and logs it using the . + /// + /// The context object for this turn. + /// The delegate to call to continue the bot middleware pipeline. + /// A cancellation token that can be used by other objects + /// or threads to receive notice of cancellation. + /// A task that represents the work queued to execute. public async Task OnTurnAsync(ITurnContext context, NextDelegate next, CancellationToken cancellationToken = default(CancellationToken)) { var stopwatch = new Stopwatch(); diff --git a/libraries/Microsoft.Bot.Builder/Microsoft.Bot.Builder.csproj b/libraries/Microsoft.Bot.Builder/Microsoft.Bot.Builder.csproj index beba260af..06847afa1 100644 --- a/libraries/Microsoft.Bot.Builder/Microsoft.Bot.Builder.csproj +++ b/libraries/Microsoft.Bot.Builder/Microsoft.Bot.Builder.csproj @@ -7,10 +7,8 @@ $(ReleasePackageVersion) Debug;Release true - - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Builder.xml + true @@ -18,6 +16,11 @@ true + + + $(NoWarn);CS1591 + + netstandard2.0 Microsoft.Bot.Builder diff --git a/libraries/Microsoft.Bot.Builder/Streaming/StreamingRequestHandler.cs b/libraries/Microsoft.Bot.Builder/Streaming/StreamingRequestHandler.cs index dfa26c471..eebf4e8d2 100644 --- a/libraries/Microsoft.Bot.Builder/Streaming/StreamingRequestHandler.cs +++ b/libraries/Microsoft.Bot.Builder/Streaming/StreamingRequestHandler.cs @@ -367,6 +367,7 @@ namespace Microsoft.Bot.Builder.Streaming /// then generates and returns a response if appropriate. /// /// A ReceiveRequest from the connected channel. + /// The instance. /// A response if the given request matches against a defined path. private StreamingResponse HandleCustomPaths(ReceiveRequest request, StreamingResponse response) { diff --git a/libraries/Microsoft.Bot.Configuration/Microsoft.Bot.Configuration.csproj b/libraries/Microsoft.Bot.Configuration/Microsoft.Bot.Configuration.csproj index 58a190b3c..08f2f8c32 100644 --- a/libraries/Microsoft.Bot.Configuration/Microsoft.Bot.Configuration.csproj +++ b/libraries/Microsoft.Bot.Configuration/Microsoft.Bot.Configuration.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release; true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Configuration.xml + true @@ -14,15 +16,16 @@ Classes for loading and saving bot configuration files - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Configuration.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Connector/Microsoft.Bot.Connector.csproj b/libraries/Microsoft.Bot.Connector/Microsoft.Bot.Connector.csproj index 1d79d0bc6..eec44969c 100644 --- a/libraries/Microsoft.Bot.Connector/Microsoft.Bot.Connector.csproj +++ b/libraries/Microsoft.Bot.Connector/Microsoft.Bot.Connector.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Connector.xml + true @@ -15,15 +17,16 @@ Client REST API library for Microsoft Bot Framework Connector - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Connector.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/Microsoft.Bot.Schema/Activity.cs b/libraries/Microsoft.Bot.Schema/Activity.cs index 8624619c5..12127dab9 100644 --- a/libraries/Microsoft.Bot.Schema/Activity.cs +++ b/libraries/Microsoft.Bot.Schema/Activity.cs @@ -7,7 +7,6 @@ using Newtonsoft.Json; namespace Microsoft.Bot.Schema { -#pragma warning disable SA1609 // PropertyDocumentationMustHaveValue, temporary ignore, needs to be fixed later /// /// An Activity is the basic communication type for the Bot Framework 3.0 /// protocol. @@ -176,6 +175,9 @@ namespace Microsoft.Bot.Schema /// 'messageUpdate', 'messageDelete', 'installationUpdate', /// 'messageReaction', 'suggestion', 'trace', 'handoff'. /// + /// + /// The activity type (see ). + /// [JsonProperty(PropertyName = "type")] public string Type { get; set; } @@ -183,6 +185,9 @@ namespace Microsoft.Bot.Schema /// Gets or sets an ID that uniquely identifies the activity on the /// channel. /// + /// + /// An ID that uniquely identifies the activity on the channel. + /// [JsonProperty(PropertyName = "id")] public string Id { get; set; } @@ -190,6 +195,9 @@ namespace Microsoft.Bot.Schema /// Gets or sets the date and time when the message was sent, in UTC, /// expressed in ISO-8601 format. /// + /// + /// The date and time when the message was sent, in UTC, expressed in ISO-8601 format. + /// [JsonProperty(PropertyName = "timestamp")] public System.DateTimeOffset? Timestamp { get; set; } @@ -198,6 +206,9 @@ namespace Microsoft.Bot.Schema /// time, expressed in ISO-8601 format. /// For example, 2016-09-23T13:07:49.4714686-07:00. /// + /// + /// The date and time when the message was sent, in local time, expressed in ISO-8601 format. + /// [JsonProperty(PropertyName = "localTimestamp")] public System.DateTimeOffset? LocalTimestamp { get; set; } @@ -206,6 +217,10 @@ namespace Microsoft.Bot.Schema /// the message, expressed in IANA Time Zone database format. /// For example, America/Los_Angeles. /// + /// + /// The name of the timezone used to define local time for + /// the message, expressed in IANA Time Zone database format. + /// [JsonProperty(PropertyName = "localTimezone")] public string LocalTimezone { get; set; } @@ -213,6 +228,9 @@ namespace Microsoft.Bot.Schema /// Gets or sets the URL that specifies the channel's service endpoint. /// Set by the channel. /// + /// + /// The URL that specifies the channel's service endpoint. + /// [JsonProperty(PropertyName = "serviceUrl")] public string ServiceUrl { get; set; } @@ -220,70 +238,111 @@ namespace Microsoft.Bot.Schema /// Gets or sets an ID that uniquely identifies the channel. /// Set by the channel. /// + /// + /// An ID that uniquely identifies the channel. + /// [JsonProperty(PropertyName = "channelId")] public string ChannelId { get; set; } /// /// Gets or sets the sender of the message. /// + /// + /// The for the sender of the message. + /// [JsonProperty(PropertyName = "from")] public ChannelAccount From { get; set; } /// /// Gets or sets the conversation to which the activity belongs. /// + /// + /// The to which the activity belongs. + /// [JsonProperty(PropertyName = "conversation")] public ConversationAccount Conversation { get; set; } /// /// Gets or sets the recipient of the message. /// + /// + /// The for the recipient of the message. + /// [JsonProperty(PropertyName = "recipient")] public ChannelAccount Recipient { get; set; } /// /// Gets or sets the format of text fields. Default: markdown. Possible - /// values include: 'markdown', 'plain', 'xml'. + /// values are defined by . /// + /// + /// The format of text fields (see ). + /// [JsonProperty(PropertyName = "textFormat")] public string TextFormat { get; set; } /// /// Gets or sets the layout hint for multiple attachments. Default: - /// list. Possible values include: 'list', 'carousel'. + /// list. Possible values are defined by . /// + /// + /// The layout hint for multiple attachments. + /// [JsonProperty(PropertyName = "attachmentLayout")] public string AttachmentLayout { get; set; } /// /// Gets or sets the collection of members added to the conversation. /// + /// + /// The collection of members added to the conversation. + /// [JsonProperty(PropertyName = "membersAdded")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList MembersAdded { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets the collection of members removed from the /// conversation. /// + /// + /// The collection of members removed from the conversation. + /// [JsonProperty(PropertyName = "membersRemoved")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList MembersRemoved { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets the collection of reactions added to the conversation. /// + /// + /// The collection of reactions added to the conversation. + /// [JsonProperty(PropertyName = "reactionsAdded")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList ReactionsAdded { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets the collection of reactions removed from the /// conversation. /// + /// + /// The collection of reactions removed from the conversation. + /// [JsonProperty(PropertyName = "reactionsRemoved")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList ReactionsRemoved { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets the updated topic name of the conversation. /// + /// + /// The updated topic name of the conversation. + /// [JsonProperty(PropertyName = "topicName")] public string TopicName { get; set; } @@ -291,6 +350,9 @@ namespace Microsoft.Bot.Schema /// Gets or sets a value indicating whether the prior history of the /// channel is disclosed. /// + /// + /// A value indicating whether the prior history of the channel is disclosed. + /// [JsonProperty(PropertyName = "historyDisclosed")] public bool? HistoryDisclosed { get; set; } @@ -302,27 +364,40 @@ namespace Microsoft.Bot.Schema /// country or region. /// The locale name can also correspond to a valid BCP-47 language tag. /// + /// + /// A locale for the activity. + /// [JsonProperty(PropertyName = "locale")] public string Locale { get; set; } /// /// Gets or sets the text content of the message. /// + /// + /// The text content of the message. + /// [JsonProperty(PropertyName = "text")] public string Text { get; set; } /// /// Gets or sets the text to speak. /// + /// + /// The text to speak. + /// [JsonProperty(PropertyName = "speak")] public string Speak { get; set; } /// /// Gets or sets a string indicating whether your bot is accepting, /// expecting, or ignoring user input after the message is delivered to - /// the client. Possible values include: 'acceptingInput', - /// 'ignoringInput', 'expectingInput'. + /// the client (see . /// + /// + /// A string indicating whether your bot is accepting, + /// expecting, or ignoring user input after the message is delivered to + /// the client. + /// [JsonProperty(PropertyName = "inputHint")] public string InputHint { get; set; } @@ -330,38 +405,64 @@ namespace Microsoft.Bot.Schema /// Gets or sets the text to display if the channel cannot render /// cards. /// + /// + /// The text to display if the channel cannot render cards. + /// [JsonProperty(PropertyName = "summary")] public string Summary { get; set; } /// /// Gets or sets the suggested actions for the activity. /// + /// + /// The suggested actions for the activity. + /// [JsonProperty(PropertyName = "suggestedActions")] public SuggestedActions SuggestedActions { get; set; } /// /// Gets or sets the attachments for the activity. /// + /// + /// The attachments for the activity. + /// [JsonProperty(PropertyName = "attachments")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList Attachments { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets the entities that were mentioned in the message. /// + /// + /// The entities that were mentioned in the message. + /// [JsonProperty(PropertyName = "entities")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList Entities { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets channel-specific content. /// + /// + /// Channel-specific content. + /// [JsonProperty(PropertyName = "channelData")] +#pragma warning disable CA1721 // Property names should not match get methods (we can't change this without changing binary compat). public object ChannelData { get; set; } +#pragma warning restore CA1721 // Property names should not match get methods /// /// Gets or sets a string indicating whether the recipient of a /// contactRelationUpdate was added to or removed from the sender's /// contact list. /// + /// + /// A string indicating whether the recipient of a + /// contactRelationUpdate was added to or removed from the sender's + /// contact list. + /// [JsonProperty(PropertyName = "action")] public string Action { get; set; } @@ -369,24 +470,36 @@ namespace Microsoft.Bot.Schema /// Gets or sets the ID of the message to which this message is a /// reply. /// + /// + /// The ID of the message to which this message is a reply. + /// [JsonProperty(PropertyName = "replyToId")] public string ReplyToId { get; set; } /// /// Gets or sets a descriptive label for the activity. /// + /// + /// A descriptive label for the activity. + /// [JsonProperty(PropertyName = "label")] public string Label { get; set; } /// /// Gets or sets the type of the activity's value object. /// + /// + /// The type of the activity's value object. + /// [JsonProperty(PropertyName = "valueType")] public string ValueType { get; set; } /// /// Gets or sets a value that is associated with the activity. /// + /// + /// A value that is associated with the activity. + /// [JsonProperty(PropertyName = "value")] public object Value { get; set; } @@ -394,21 +507,29 @@ namespace Microsoft.Bot.Schema /// Gets or sets the name of the operation associated with an invoke or /// event activity. /// + /// + /// The name of the operation associated with an invoke or event activity. + /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Gets or sets a reference to another conversation or activity. + /// Gets or sets a to another conversation or activity. /// + /// + /// A reference to another conversation or activity. + /// [JsonProperty(PropertyName = "relatesTo")] public ConversationReference RelatesTo { get; set; } /// /// Gets or sets a code for endOfConversation activities that indicates - /// why the conversation ended. Possible values include: - /// 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut', - /// 'botIssuedInvalidMessage', 'channelFailed'. + /// why the conversation ended. Possible values are defined in . /// + /// + /// A code for endOfConversation activities that indicates + /// why the conversation ended. + /// [JsonProperty(PropertyName = "code")] public string Code { get; set; } @@ -416,22 +537,32 @@ namespace Microsoft.Bot.Schema /// Gets or sets the time at which the activity should be considered to /// be "expired" and should not be presented to the recipient. /// + /// + /// The time at which the activity should be considered to + /// be "expired" and should not be presented to the recipient. + /// [JsonProperty(PropertyName = "expiration")] public System.DateTimeOffset? Expiration { get; set; } /// /// Gets or sets the importance of the activity. Possible values - /// include: 'low', 'normal', 'high'. + /// are defined in . /// + /// + /// The importance of the activity. + /// [JsonProperty(PropertyName = "importance")] public string Importance { get; set; } /// /// Gets or sets a delivery hint to signal to the recipient alternate /// delivery paths for the activity. - /// The default delivery mode is "default". Possible values include: - /// 'normal', 'notification', 'expectReplies', 'ephemeral'. + /// The default delivery mode is "default". Possible values are defined in . /// + /// + /// A delivery hint to signal to the recipient alternate + /// delivery paths for the activity. + /// [JsonProperty(PropertyName = "deliveryMode")] public string DeliveryMode { get; set; } @@ -439,20 +570,35 @@ namespace Microsoft.Bot.Schema /// Gets or sets list of phrases and references that speech and /// language-priming systems should listen for. /// + /// + /// List of phrases and references that speech and language-priming systems should listen for. + /// [JsonProperty(PropertyName = "listenFor")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList ListenFor { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets the collection of text fragments to highlight when the /// activity contains a ReplyToId value. /// + /// + /// The collection of text fragments to highlight when the + /// activity contains a ReplyToId value. + /// [JsonProperty(PropertyName = "textHighlights")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList TextHighlights { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets an optional programmatic action accompanying this /// request. /// + /// + /// An optional programmatic action accompanying this + /// request. + /// [JsonProperty(PropertyName = "semanticAction")] public SemanticAction SemanticAction { get; set; } @@ -462,6 +608,12 @@ namespace Microsoft.Bot.Schema /// instead populated by bots and clients based on cryptographically /// verifiable data that asserts the identity of the callers (e.g. tokens). /// + /// + /// A string containing an IRI identifying the caller of a bot. + /// This field is not intended to be transmitted over the wire, but is + /// instead populated by bots and clients based on cryptographically + /// verifiable data that asserts the identity of the callers (e.g. tokens). + /// [JsonProperty(PropertyName = "callerId")] public string CallerId { get; set; } @@ -470,5 +622,4 @@ namespace Microsoft.Bot.Schema /// partial void CustomInit(); } -#pragma warning restore SA1609 // PropertyDocumentationMustHaveValue } diff --git a/libraries/Microsoft.Bot.Schema/ActivityEx.cs b/libraries/Microsoft.Bot.Schema/ActivityEx.cs index 9ef14858f..900f25e39 100644 --- a/libraries/Microsoft.Bot.Schema/ActivityEx.cs +++ b/libraries/Microsoft.Bot.Schema/ActivityEx.cs @@ -51,7 +51,9 @@ namespace Microsoft.Bot.Schema /// the JSON object is deserialized, but are instead stored in this property. Such properties /// will be written to a JSON object when the instance is serialized. [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only /// /// Creates an instance of the class as an object. @@ -378,8 +380,8 @@ namespace Microsoft.Bot.Schema /// public Mention[] GetMentions() { - return this.Entities?.Where(entity => string.Compare(entity.Type, "mention", ignoreCase: true) == 0) - .Select(e => e.Properties.ToObject()).ToArray() ?? new Mention[0]; + return this.Entities?.Where(entity => string.Compare(entity.Type, "mention", StringComparison.OrdinalIgnoreCase) == 0) + .Select(e => e.Properties.ToObject()).ToArray() ?? Array.Empty(); } /// @@ -389,7 +391,9 @@ namespace Microsoft.Bot.Schema /// The strongly-typed object; or the type's default value, if the is null. /// /// +#pragma warning disable CA1715 // Identifiers should have correct prefix (we can't change it without breaking binary compatibility) public TypeT GetChannelData() +#pragma warning restore CA1715 // Identifiers should have correct prefix { if (this.ChannelData == null) { @@ -416,7 +420,9 @@ namespace Microsoft.Bot.Schema /// /// /// +#pragma warning disable CA1715 // Identifiers should have correct prefix (we can't change it without breaking binary compatibility) public bool TryGetChannelData(out TypeT instance) +#pragma warning restore CA1715 // Identifiers should have correct prefix { instance = default(TypeT); @@ -430,7 +436,9 @@ namespace Microsoft.Bot.Schema instance = this.GetChannelData(); return true; } +#pragma warning disable CA1031 // Do not catch general exception types (we just return false here if the conversion fails for any reason) catch +#pragma warning restore CA1031 // Do not catch general exception types { return false; } @@ -442,7 +450,7 @@ namespace Microsoft.Bot.Schema /// A conversation reference for the conversation that contains this activity. public ConversationReference GetConversationReference() { - ConversationReference reference = new ConversationReference + var reference = new ConversationReference { ActivityId = this.Id, User = this.From, @@ -568,9 +576,5 @@ namespace Microsoft.Bot.Schema return result; } - - partial void CustomInit() - { - } } } diff --git a/libraries/Microsoft.Bot.Schema/AttachmentEx.cs b/libraries/Microsoft.Bot.Schema/AttachmentEx.cs index 085ecba41..6f3b44279 100644 --- a/libraries/Microsoft.Bot.Schema/AttachmentEx.cs +++ b/libraries/Microsoft.Bot.Schema/AttachmentEx.cs @@ -20,6 +20,8 @@ namespace Microsoft.Bot.Schema /// the JSON object is deserialized, but are instead stored in this property. Such properties /// will be written to a JSON object when the instance is serialized. [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/CardActionEx.cs b/libraries/Microsoft.Bot.Schema/CardActionEx.cs index 70821b9a0..d66bda97b 100644 --- a/libraries/Microsoft.Bot.Schema/CardActionEx.cs +++ b/libraries/Microsoft.Bot.Schema/CardActionEx.cs @@ -17,5 +17,15 @@ namespace Microsoft.Bot.Schema { return new CardAction(title: input, value: input); } + + /// + /// Creates a from the given input. + /// + /// Represents the title and value for the . + /// A new instance. + public static CardAction FromString(string input) + { + return new CardAction(title: input, value: input); + } } } diff --git a/libraries/Microsoft.Bot.Schema/ChannelAccountEx.cs b/libraries/Microsoft.Bot.Schema/ChannelAccountEx.cs index 55a9b9f95..e982903f0 100644 --- a/libraries/Microsoft.Bot.Schema/ChannelAccountEx.cs +++ b/libraries/Microsoft.Bot.Schema/ChannelAccountEx.cs @@ -20,6 +20,8 @@ namespace Microsoft.Bot.Schema /// the JSON object is deserialized, but are instead stored in this property. Such properties /// will be written to a JSON object when the instance is serialized. [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/ConversationAccountEx.cs b/libraries/Microsoft.Bot.Schema/ConversationAccountEx.cs index 189446b9c..4e0a435b2 100644 --- a/libraries/Microsoft.Bot.Schema/ConversationAccountEx.cs +++ b/libraries/Microsoft.Bot.Schema/ConversationAccountEx.cs @@ -20,6 +20,8 @@ namespace Microsoft.Bot.Schema /// the JSON object is deserialized, but are instead stored in this property. Such properties /// will be written to a JSON object when the instance is serialized. [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/EntityEx.cs b/libraries/Microsoft.Bot.Schema/EntityEx.cs index 185b3d648..968002f9e 100644 --- a/libraries/Microsoft.Bot.Schema/EntityEx.cs +++ b/libraries/Microsoft.Bot.Schema/EntityEx.cs @@ -21,7 +21,9 @@ namespace Microsoft.Bot.Schema /// the JSON object is deserialized, but are instead stored in this property. Such properties /// will be written to a JSON object when the instance is serialized. [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only /// /// Retrieve internal payload. @@ -52,7 +54,7 @@ namespace Microsoft.Bot.Schema return false; } - return JsonConvert.SerializeObject(this).Equals(JsonConvert.SerializeObject(other)); + return JsonConvert.SerializeObject(this).Equals(JsonConvert.SerializeObject(other), StringComparison.Ordinal); } public override bool Equals(object obj) diff --git a/libraries/Microsoft.Bot.Schema/ErrorCodes.cs b/libraries/Microsoft.Bot.Schema/ErrorCodes.cs index 6ac560b58..a0337767c 100644 --- a/libraries/Microsoft.Bot.Schema/ErrorCodes.cs +++ b/libraries/Microsoft.Bot.Schema/ErrorCodes.cs @@ -6,7 +6,9 @@ namespace Microsoft.Bot.Schema /// /// Error codes to communicate when throwing an APIException. /// +#pragma warning disable CA1052 // Static holder types should be Static or NotInheritable (this class should have been static but we can't change it without breaking binary compat) public class ErrorCodes +#pragma warning restore CA1052 // Static holder types should be Static or NotInheritable { /// /// Other error, not specified. diff --git a/libraries/Microsoft.Bot.Schema/GeoCoordinates.cs b/libraries/Microsoft.Bot.Schema/GeoCoordinates.cs index 9c569508e..3605e065c 100644 --- a/libraries/Microsoft.Bot.Schema/GeoCoordinates.cs +++ b/libraries/Microsoft.Bot.Schema/GeoCoordinates.cs @@ -1,4 +1,4 @@ -// +// // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. @@ -73,12 +73,6 @@ namespace Microsoft.Bot.Schema [JsonProperty(PropertyName = "longitude")] public double? Longitude { get; set; } - /// - /// Gets or sets the type of the thing - /// - [JsonProperty(PropertyName = "type")] - public string Type { get; set; } - /// /// Gets or sets the name of the thing /// diff --git a/libraries/Microsoft.Bot.Schema/HealthResults.cs b/libraries/Microsoft.Bot.Schema/HealthResults.cs index bded9c297..9752ecb1f 100644 --- a/libraries/Microsoft.Bot.Schema/HealthResults.cs +++ b/libraries/Microsoft.Bot.Schema/HealthResults.cs @@ -17,7 +17,9 @@ namespace Microsoft.Bot.Schema public string UserAgent { get; set; } [JsonProperty(PropertyName = "messages")] +#pragma warning disable CA1819 // Properties should not return arrays (we can't change this without breaking binary compat). public string[] Messages { get; set; } +#pragma warning restore CA1819 // Properties should not return arrays [JsonProperty(PropertyName = "diagnostics")] public object Diagnostics { get; set; } diff --git a/libraries/Microsoft.Bot.Schema/IActivity.cs b/libraries/Microsoft.Bot.Schema/IActivity.cs index afc088202..ac810b782 100644 --- a/libraries/Microsoft.Bot.Schema/IActivity.cs +++ b/libraries/Microsoft.Bot.Schema/IActivity.cs @@ -33,7 +33,9 @@ namespace Microsoft.Bot.Schema /// /// Service URL where responses to this activity should be sent. /// +#pragma warning disable CA1056 // Uri properties should not be strings (we can't change this without breaking binary compat) string ServiceUrl { get; set; } +#pragma warning restore CA1056 // Uri properties should not be strings /// /// Gets or sets timestamp when this message was sent (UTC). @@ -100,7 +102,9 @@ namespace Microsoft.Bot.Schema /// /// Collection of Entity objects, each of which contains metadata about this activity. Each Entity object is typed. /// +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList Entities { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets channel-specific payload. @@ -121,14 +125,18 @@ namespace Microsoft.Bot.Schema /// /// Channel-specific payload. /// +#pragma warning disable CA1721 // Property names should not match get methods (we can't change this without breaking binary compat) dynamic ChannelData { get; set; } +#pragma warning restore CA1721 // Property names should not match get methods /// /// Gets the channel data as strongly typed object. /// /// The expected type of the object. /// The strongly typed channel data. +#pragma warning disable CA1715 // Identifiers should have correct prefix (we can't change this without breaking binary compat) TypeT GetChannelData(); +#pragma warning restore CA1715 // Identifiers should have correct prefix /// /// Try to get the channeldata as a strongly typed object. @@ -136,7 +144,9 @@ namespace Microsoft.Bot.Schema /// Type T. /// instance. /// false if there is no valid channeldata available. +#pragma warning disable CA1715 // Identifiers should have correct prefix (we can't change this without breaking binary compat) bool TryGetChannelData(out TypeT instance); +#pragma warning restore CA1715 // Identifiers should have correct prefix /// /// Return IMessageActivity if this is a message activity, null otherwise. diff --git a/libraries/Microsoft.Bot.Schema/IConversationUpdateActivity.cs b/libraries/Microsoft.Bot.Schema/IConversationUpdateActivity.cs index 451c8eeb1..9a68d77c9 100644 --- a/libraries/Microsoft.Bot.Schema/IConversationUpdateActivity.cs +++ b/libraries/Microsoft.Bot.Schema/IConversationUpdateActivity.cs @@ -14,13 +14,17 @@ namespace Microsoft.Bot.Schema /// Gets or Sets Members added to the conversation. /// /// List of ChannelAccount. +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList MembersAdded { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or Sets Members removed from the conversation. /// /// List of ChannelAccount. +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList MembersRemoved { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or Sets The conversation's updated topic name. diff --git a/libraries/Microsoft.Bot.Schema/IMessageActivity.cs b/libraries/Microsoft.Bot.Schema/IMessageActivity.cs index 5dc56f4db..feac18be8 100644 --- a/libraries/Microsoft.Bot.Schema/IMessageActivity.cs +++ b/libraries/Microsoft.Bot.Schema/IMessageActivity.cs @@ -76,7 +76,9 @@ namespace Microsoft.Bot.Schema /// /// Attachments. /// +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList Attachments { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets suggestedActions are used to express actions for interacting with a card like keyboards/quickReplies. diff --git a/libraries/Microsoft.Bot.Schema/IMessageReactionActivity.cs b/libraries/Microsoft.Bot.Schema/IMessageReactionActivity.cs index 58c7082cd..fc5076ace 100644 --- a/libraries/Microsoft.Bot.Schema/IMessageReactionActivity.cs +++ b/libraries/Microsoft.Bot.Schema/IMessageReactionActivity.cs @@ -16,7 +16,9 @@ namespace Microsoft.Bot.Schema /// /// Reactions added to the activity. /// +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList ReactionsAdded { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only /// /// Gets or sets reactions removed from the activity. @@ -24,6 +26,8 @@ namespace Microsoft.Bot.Schema /// /// Reactions removed from the activity. /// +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList ReactionsRemoved { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/ISuggestionActivity.cs b/libraries/Microsoft.Bot.Schema/ISuggestionActivity.cs index 70450abe3..c675791cb 100644 --- a/libraries/Microsoft.Bot.Schema/ISuggestionActivity.cs +++ b/libraries/Microsoft.Bot.Schema/ISuggestionActivity.cs @@ -18,6 +18,8 @@ namespace Microsoft.Bot.Schema /// Gets or Sets Indicates the sections of text in the referenced message to highlight. /// /// TextHighlights. +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) IList TextHighlights { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/Mention.cs b/libraries/Microsoft.Bot.Schema/Mention.cs index 55404a0c9..1a8b0c51b 100644 --- a/libraries/Microsoft.Bot.Schema/Mention.cs +++ b/libraries/Microsoft.Bot.Schema/Mention.cs @@ -1,4 +1,4 @@ -// +// // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. @@ -58,12 +58,5 @@ namespace Microsoft.Bot.Schema /// [JsonProperty(PropertyName = "text")] public string Text { get; set; } - - /// - /// Gets or sets type of this entity (RFC 3987 IRI) - /// - [JsonProperty(PropertyName = "type")] - public string Type { get; set; } - } } diff --git a/libraries/Microsoft.Bot.Schema/Microsoft.Bot.Schema.csproj b/libraries/Microsoft.Bot.Schema/Microsoft.Bot.Schema.csproj index b35c771d8..524545ffc 100644 --- a/libraries/Microsoft.Bot.Schema/Microsoft.Bot.Schema.csproj +++ b/libraries/Microsoft.Bot.Schema/Microsoft.Bot.Schema.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Schema.xml + true @@ -14,21 +16,22 @@ This library implements C# schema classes for using the Bot Framework. - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Schema.xml - - Full true - $(NoWarn);CS0108 + + $(NoWarn);CS1573;CS1591 + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + - + \ No newline at end of file diff --git a/libraries/Microsoft.Bot.Schema/Place.cs b/libraries/Microsoft.Bot.Schema/Place.cs index 8148d9e09..f29b31edf 100644 --- a/libraries/Microsoft.Bot.Schema/Place.cs +++ b/libraries/Microsoft.Bot.Schema/Place.cs @@ -1,4 +1,4 @@ -// +// // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. @@ -73,12 +73,6 @@ namespace Microsoft.Bot.Schema [JsonProperty(PropertyName = "hasMap")] public object HasMap { get; set; } - /// - /// Gets or sets the type of the thing - /// - [JsonProperty(PropertyName = "type")] - public string Type { get; set; } - /// /// Gets or sets the name of the thing /// diff --git a/libraries/Microsoft.Bot.Schema/Teams/TeamsPagedMembersResult.cs b/libraries/Microsoft.Bot.Schema/Teams/TeamsPagedMembersResult.cs index 6ac019647..da5e6fd2e 100644 --- a/libraries/Microsoft.Bot.Schema/Teams/TeamsPagedMembersResult.cs +++ b/libraries/Microsoft.Bot.Schema/Teams/TeamsPagedMembersResult.cs @@ -25,6 +25,8 @@ namespace Microsoft.Bot.Schema.Teams public string ContinuationToken { get; set; } [JsonProperty(PropertyName = "members")] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public IList Members { get; set; } +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeRequest.cs b/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeRequest.cs index e3e432e76..4320da027 100644 --- a/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeRequest.cs +++ b/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeRequest.cs @@ -46,6 +46,8 @@ namespace Microsoft.Bot.Schema /// Extension data for overflow of properties. /// [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeResponse.cs b/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeResponse.cs index f15135b3e..7eb24216b 100644 --- a/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeResponse.cs +++ b/libraries/Microsoft.Bot.Schema/TokenExchangeInvokeResponse.cs @@ -46,6 +46,8 @@ namespace Microsoft.Bot.Schema /// Extension data for overflow of properties. /// [JsonExtensionData(ReadData = true, WriteData = true)] +#pragma warning disable CA2227 // Collection properties should be read only (we can't change this without breaking binary compat) public JObject Properties { get; set; } = new JObject(); +#pragma warning restore CA2227 // Collection properties should be read only } } diff --git a/libraries/Microsoft.Bot.Schema/TokenExchangeState.cs b/libraries/Microsoft.Bot.Schema/TokenExchangeState.cs index 3051d9818..b0f2dadf5 100644 --- a/libraries/Microsoft.Bot.Schema/TokenExchangeState.cs +++ b/libraries/Microsoft.Bot.Schema/TokenExchangeState.cs @@ -44,7 +44,9 @@ namespace Microsoft.Bot.Schema /// The URL of the bot messaging endpoint. /// [JsonProperty("botUrl")] +#pragma warning disable CA1056 // Uri properties should not be strings (we can't change this without breaking binary compat) public string BotUrl { get; set; } +#pragma warning restore CA1056 // Uri properties should not be strings /// /// Gets or sets the bot's registered application ID. diff --git a/libraries/Microsoft.Bot.Streaming/Microsoft.Bot.Streaming.csproj b/libraries/Microsoft.Bot.Streaming/Microsoft.Bot.Streaming.csproj index b7f6052b8..d3396b097 100644 --- a/libraries/Microsoft.Bot.Streaming/Microsoft.Bot.Streaming.csproj +++ b/libraries/Microsoft.Bot.Streaming/Microsoft.Bot.Streaming.csproj @@ -8,6 +8,8 @@ Debug;Release true $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Streaming.xml + true @@ -17,17 +19,14 @@ Streaming library for the Bot Framework SDK - - bin\$(Configuration)\netstandard2.0\Microsoft.Bot.Streaming.xml - - Full true - $(SolutionDir)BotBuilder-DotNet.ruleset + + $(NoWarn);CS1591 diff --git a/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.csproj b/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.csproj index ba90b46bc..ffb7c2942 100644 --- a/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.csproj +++ b/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.csproj @@ -5,6 +5,8 @@ $(LocalPackageVersion) $(ReleasePackageVersion) Debug;Release + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.xml + true @@ -15,15 +17,16 @@ true - - bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj b/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj index 6118167ec..ff8da5a42 100644 --- a/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj +++ b/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi/Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\net461\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.xml + true @@ -15,16 +17,17 @@ This library integrates the Microsoft Bot Builder SDK with Application Insights WebAPI. This library provides integration between the Microsoft Bot Builder SDK and Application Insights. - - - bin\$(Configuration)\net461\Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi.xml - Full true + + + $(NoWarn);CS1591 + + Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi Microsoft.Bot.Builder.Integration.ApplicationInsights.WebApi diff --git a/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.Core/Microsoft.Bot.Builder.Integration.AspNet.Core.csproj b/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.Core/Microsoft.Bot.Builder.Integration.AspNet.Core.csproj index cb7883488..bb2bb75cc 100644 --- a/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.Core/Microsoft.Bot.Builder.Integration.AspNet.Core.csproj +++ b/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.Core/Microsoft.Bot.Builder.Integration.AspNet.Core.csproj @@ -6,6 +6,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Integration.AspNet.Core.xml + true @@ -14,15 +16,16 @@ This library provides integration between the Microsoft Bot Builder SDK and ASP.NET Core. - - bin\$(Configuration)\$(TargetFramework)\Microsoft.Bot.Builder.Integration.AspNet.Core.xml - - Full true + + + $(NoWarn);CS1591 + + diff --git a/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.WebApi/Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj b/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.WebApi/Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj index 4716d6c85..8604d6880 100644 --- a/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.WebApi/Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj +++ b/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.WebApi/Microsoft.Bot.Builder.Integration.AspNet.WebApi.csproj @@ -7,6 +7,8 @@ $(ReleasePackageVersion) Debug;Release true + bin\$(Configuration)\net461\Microsoft.Bot.Builder.Integration.AspNet.WebApi.xml + true @@ -15,9 +17,10 @@ This library integrates the Microsoft Bot Builder SDK with ASP.NET WebAPI. It offers idiomatic configuration APIs in addition to providing all the plumbing to direct incoming bot messages to a configured bot. This library provides integration between the Microsoft Bot Builder SDK and ASP.NET WebAPI. - - - bin\$(Configuration)\net461\Microsoft.Bot.Builder.Integration.AspNet.WebApi.xml + + + + $(NoWarn);CS1591 diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props new file mode 100644 index 000000000..c431bb412 --- /dev/null +++ b/tests/Directory.Build.props @@ -0,0 +1,10 @@ + + + + + $(NoWarn);SA0001;CS1573,CS1591,CS1712 + + + + + diff --git a/tests/Microsoft.Bot.Schema.Tests/CardActionTest.cs b/tests/Microsoft.Bot.Schema.Tests/CardActionTest.cs index 330600e46..3f63f7049 100644 --- a/tests/Microsoft.Bot.Schema.Tests/CardActionTest.cs +++ b/tests/Microsoft.Bot.Schema.Tests/CardActionTest.cs @@ -12,7 +12,12 @@ namespace Microsoft.Bot.Schema.Tests [TestMethod] public void TestImplicitConversation() { - SuggestedActions(new CardAction[] { "x", "y", "z" }); + SuggestedActions(new CardAction[] + { + "x", + "y", + "z" + }); void SuggestedActions(IList actions) { @@ -24,5 +29,13 @@ namespace Microsoft.Bot.Schema.Tests Assert.AreEqual("z", actions[2].Value); } } + + [TestMethod] + public void FromString() + { + var sut = CardAction.FromString("my action"); + Assert.AreEqual("my action", sut.Title); + Assert.AreEqual("my action", sut.Value); + } } }