From 659ac71cd37f0562101a36f3f264fb7da1ab969b Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Tue, 21 Sep 2021 20:31:47 -0400 Subject: [PATCH] [build] Update more NuGet package versions Context: https://dev.azure.com/devdiv/DevDiv/_componentGovernance/112013/alert/2979569?typeId=6338203 [Component Governance][0] is a Microsoft internal tool which checks for known security issues in product dependencies. It is currently reporting a defect in Xamarin.Android because Java.Interop restores the `System.Net.Http` v4.1.0 NuGet package, which contains security vulnerability [CVE-2018-8292][1]: /s/xamarin-android/external/Java.Interop/packages/system.net.http/4.1.0/system.net.http.4.1.0.nupkg /s/xamarin-android/external/Java.Interop/packages/system.net.http/4.1.0/system.net.http.nuspec `System.Net.Http` v4.1.0 isn't actually *used* by Java.Interop or Xamarin.Android, it's just an implicit NuGet dependency of one of the various NuGet packages which Java.Interop relies on. The report is "noise". That said, we should still remove "noise" when possible. Update most NuGet package versions within Java.Interop to the latest versions provided by `dotnet-public` or `dotnet-eng` (which may not be the latest versions on NuGet.org). Exceptions: * `Microsoft.Xml.SgmlReader` is not bumped, as the latest version introduced an ABI break. * `Microsoft.CodeAnalysis.FxCopAnalyzers` v3.3.2 deprecated the entire package, introducing additional warnings that I didn't want to deal with right now. * `protobuf-net` is still not updated, as the latest version causes unit test failures; see also PR #878. In order to better "centralize" NuGet package version information, instead of having multiple `%(PackageReference.Version)` values strewn throughout the codebase, instead have `.csproj` files contain `@(PackageReference)`s that *don't* contain `%(PackageReference.Version)`, and instead use [`%(Update)`][2] within `Directory.Build.targets` to provide the actual package version: This pattern requires that there be no "intervening" `Directory.Build.targets` between the `.csproj` and the root directory; see also the [MSBuild Customize your build][3] documentation. Rename the existing `Directory.Build.targets` files to instead use explicit ``s against a newly added `.targets` file; conceptually reverts part of d70e40f1 and later commits which use `Directory.Build.targets`. [0]: https://docs.opensource.microsoft.com/tools/cg/ [1]: https://nvd.nist.gov/vuln/detail/CVE-2018-8292 [2]: https://docs.microsoft.com/en-us/visualstudio/msbuild/item-element-msbuild?view=vs-2019#attributes-and-elements [3]: https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2019#directorybuildprops-and-directorybuildtargets --- Directory.Build.props | 8 ---- Directory.Build.targets | 37 +++++++++++++++++++ .../Java.Interop.BootstrapTasks.csproj | 4 +- build-tools/jnienv-gen/jnienv-gen.csproj | 2 +- build-tools/scripts/RunNUnitTests.targets | 2 +- build-tools/scripts/VersionInfo.targets | 2 +- samples/Hello/Hello.csproj | 2 +- .../Java.Interop.Localization.csproj | 2 +- .../Java.Interop.Tools.JavaSource.csproj | 2 +- .../Java.Interop-MonoAndroid.csproj | 2 +- src/Java.Interop/Java.Interop.csproj | 1 + ...ory.Build.targets => Java.Interop.targets} | 0 ...rin.Android.Tools.AnnotationSupport.csproj | 2 +- .../Xamarin.Android.Tools.Bytecode.csproj | 2 +- src/java-interop/java-interop.csproj | 5 ++- ...ory.Build.targets => java-interop.targets} | 0 .../Java.Interop-PerformanceTests.csproj | 15 ++++---- ... => Java.Interop-PerformanceTests.targets} | 0 .../Java.Interop-Tests.csproj | 15 +++----- .../Java.Interop.Dynamic-Tests.csproj | 13 +++---- .../Java.Interop.Export-Tests.csproj | 15 +++----- .../Java.Interop.Tools.Generator-Tests.csproj | 13 +++---- ...op.Tools.JavaCallableWrappers-Tests.csproj | 13 +++---- ...Java.Interop.Tools.JavaSource-Tests.csproj | 13 +++---- tests/NativeTiming/NativeTiming.csproj | 2 + ...ory.Build.targets => NativeTiming.targets} | 0 tests/TestJVM/TestJVM.csproj | 13 +++---- ....Android.Tools.ApiXmlAdjuster-Tests.csproj | 13 +++---- ...amarin.Android.Tools.Bytecode-Tests.csproj | 13 +++---- .../Xamarin.SourceWriter-Tests.csproj | 13 +++---- tests/generator-Tests/generator-Tests.csproj | 15 +++----- .../invocation-overhead.csproj | 5 ++- ...ld.targets => invocation-overhead.targets} | 0 .../logcat-parse-Tests.csproj | 13 +++---- tools/class-parse/class-parse.csproj | 4 +- tools/generator/generator.csproj | 8 ++-- .../java-source-utils.csproj | 4 +- ...uild.targets => java-source-utils.targets} | 0 tools/jcw-gen/jcw-gen.csproj | 4 +- ...oid.Tools.JniMarshalMethodGenerator.csproj | 6 +-- tools/logcat-parse/logcat-parse.csproj | 10 +++-- ...ory.Build.targets => logcat-parse.targets} | 0 .../param-name-importer.csproj | 6 +-- 43 files changed, 152 insertions(+), 147 deletions(-) create mode 100644 Directory.Build.targets rename src/Java.Interop/{Directory.Build.targets => Java.Interop.targets} (100%) rename src/java-interop/{Directory.Build.targets => java-interop.targets} (100%) rename tests/Java.Interop-PerformanceTests/{Directory.Build.targets => Java.Interop-PerformanceTests.targets} (100%) rename tests/NativeTiming/{Directory.Build.targets => NativeTiming.targets} (100%) rename tests/invocation-overhead/{Directory.Build.targets => invocation-overhead.targets} (100%) rename tools/java-source-utils/{Directory.Build.targets => java-source-utils.targets} (100%) rename tools/logcat-parse/{Directory.Build.targets => logcat-parse.targets} (100%) diff --git a/Directory.Build.props b/Directory.Build.props index e3ee1bf75..1f2d69a90 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -94,12 +94,4 @@ $(NoWarn);CA1307;CA1309;CA1310 - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 000000000..5a6438555 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,37 @@ + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + diff --git a/build-tools/Java.Interop.BootstrapTasks/Java.Interop.BootstrapTasks.csproj b/build-tools/Java.Interop.BootstrapTasks/Java.Interop.BootstrapTasks.csproj index 85b828a55..6b3b9376c 100644 --- a/build-tools/Java.Interop.BootstrapTasks/Java.Interop.BootstrapTasks.csproj +++ b/build-tools/Java.Interop.BootstrapTasks/Java.Interop.BootstrapTasks.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/build-tools/jnienv-gen/jnienv-gen.csproj b/build-tools/jnienv-gen/jnienv-gen.csproj index 71466f043..2402a52d1 100644 --- a/build-tools/jnienv-gen/jnienv-gen.csproj +++ b/build-tools/jnienv-gen/jnienv-gen.csproj @@ -12,6 +12,6 @@ - + diff --git a/build-tools/scripts/RunNUnitTests.targets b/build-tools/scripts/RunNUnitTests.targets index 462dc48cb..0aac10147 100644 --- a/build-tools/scripts/RunNUnitTests.targets +++ b/build-tools/scripts/RunNUnitTests.targets @@ -5,7 +5,7 @@ <_TopDir>$(MSBuildThisFileDirectory)..\.. <_Runtime Condition=" '$(RUNTIME)' != '' ">$(RUNTIME) <_Runtime Condition=" '$(RUNTIME)' == '' And '$(OS)' != 'Windows_NT' ">mono --debug - <_NUnit>$(_Runtime) packages\nunit.consolerunner\3.11.1\tools\nunit3-console.exe + <_NUnit>$(_Runtime) packages\nunit.consolerunner\3.12.0\tools\nunit3-console.exe <_Run Condition=" '$(RUN)' != '' ">--run="$(RUN)" false - + - + diff --git a/src/Java.Interop.Localization/Java.Interop.Localization.csproj b/src/Java.Interop.Localization/Java.Interop.Localization.csproj index fe7c3e217..575a5c342 100644 --- a/src/Java.Interop.Localization/Java.Interop.Localization.csproj +++ b/src/Java.Interop.Localization/Java.Interop.Localization.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource.csproj b/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource.csproj index 9dce7a0ac..559cce52f 100644 --- a/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource.csproj +++ b/src/Java.Interop.Tools.JavaSource/Java.Interop.Tools.JavaSource.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/Java.Interop/Java.Interop-MonoAndroid.csproj b/src/Java.Interop/Java.Interop-MonoAndroid.csproj index 1a8e290b2..cafa4db40 100644 --- a/src/Java.Interop/Java.Interop-MonoAndroid.csproj +++ b/src/Java.Interop/Java.Interop-MonoAndroid.csproj @@ -83,7 +83,7 @@ False - + BuildJniEnvironment_g_cs; diff --git a/src/Java.Interop/Java.Interop.csproj b/src/Java.Interop/Java.Interop.csproj index e61282d0e..ec061e072 100644 --- a/src/Java.Interop/Java.Interop.csproj +++ b/src/Java.Interop/Java.Interop.csproj @@ -96,4 +96,5 @@ + diff --git a/src/Java.Interop/Directory.Build.targets b/src/Java.Interop/Java.Interop.targets similarity index 100% rename from src/Java.Interop/Directory.Build.targets rename to src/Java.Interop/Java.Interop.targets diff --git a/src/Xamarin.Android.Tools.AnnotationSupport/Xamarin.Android.Tools.AnnotationSupport.csproj b/src/Xamarin.Android.Tools.AnnotationSupport/Xamarin.Android.Tools.AnnotationSupport.csproj index d2dcbfde6..fcb12c1fe 100644 --- a/src/Xamarin.Android.Tools.AnnotationSupport/Xamarin.Android.Tools.AnnotationSupport.csproj +++ b/src/Xamarin.Android.Tools.AnnotationSupport/Xamarin.Android.Tools.AnnotationSupport.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/Xamarin.Android.Tools.Bytecode/Xamarin.Android.Tools.Bytecode.csproj b/src/Xamarin.Android.Tools.Bytecode/Xamarin.Android.Tools.Bytecode.csproj index fdead54ef..e638e5f3d 100644 --- a/src/Xamarin.Android.Tools.Bytecode/Xamarin.Android.Tools.Bytecode.csproj +++ b/src/Xamarin.Android.Tools.Bytecode/Xamarin.Android.Tools.Bytecode.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/java-interop/java-interop.csproj b/src/java-interop/java-interop.csproj index 20b5ef3c3..50d75ac32 100644 --- a/src/java-interop/java-interop.csproj +++ b/src/java-interop/java-interop.csproj @@ -17,10 +17,13 @@ - + + + + \ No newline at end of file diff --git a/src/java-interop/Directory.Build.targets b/src/java-interop/java-interop.targets similarity index 100% rename from src/java-interop/Directory.Build.targets rename to src/java-interop/java-interop.targets diff --git a/tests/Java.Interop-PerformanceTests/Java.Interop-PerformanceTests.csproj b/tests/Java.Interop-PerformanceTests/Java.Interop-PerformanceTests.csproj index ae3295562..509b21841 100644 --- a/tests/Java.Interop-PerformanceTests/Java.Interop-PerformanceTests.csproj +++ b/tests/Java.Interop-PerformanceTests/Java.Interop-PerformanceTests.csproj @@ -11,14 +11,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + @@ -33,4 +30,6 @@ + + diff --git a/tests/Java.Interop-PerformanceTests/Directory.Build.targets b/tests/Java.Interop-PerformanceTests/Java.Interop-PerformanceTests.targets similarity index 100% rename from tests/Java.Interop-PerformanceTests/Directory.Build.targets rename to tests/Java.Interop-PerformanceTests/Java.Interop-PerformanceTests.targets diff --git a/tests/Java.Interop-Tests/Java.Interop-Tests.csproj b/tests/Java.Interop-Tests/Java.Interop-Tests.csproj index a04402fd4..9c879ef88 100644 --- a/tests/Java.Interop-Tests/Java.Interop-Tests.csproj +++ b/tests/Java.Interop-Tests/Java.Interop-Tests.csproj @@ -19,15 +19,12 @@ - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + + diff --git a/tests/Java.Interop.Dynamic-Tests/Java.Interop.Dynamic-Tests.csproj b/tests/Java.Interop.Dynamic-Tests/Java.Interop.Dynamic-Tests.csproj index 884b6a849..78cf824b0 100644 --- a/tests/Java.Interop.Dynamic-Tests/Java.Interop.Dynamic-Tests.csproj +++ b/tests/Java.Interop.Dynamic-Tests/Java.Interop.Dynamic-Tests.csproj @@ -15,14 +15,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/Java.Interop.Export-Tests/Java.Interop.Export-Tests.csproj b/tests/Java.Interop.Export-Tests/Java.Interop.Export-Tests.csproj index e15304646..88bd39a60 100644 --- a/tests/Java.Interop.Export-Tests/Java.Interop.Export-Tests.csproj +++ b/tests/Java.Interop.Export-Tests/Java.Interop.Export-Tests.csproj @@ -11,15 +11,12 @@ - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + + diff --git a/tests/Java.Interop.Tools.Generator-Tests/Java.Interop.Tools.Generator-Tests.csproj b/tests/Java.Interop.Tools.Generator-Tests/Java.Interop.Tools.Generator-Tests.csproj index fbe6f560f..8e654fc64 100644 --- a/tests/Java.Interop.Tools.Generator-Tests/Java.Interop.Tools.Generator-Tests.csproj +++ b/tests/Java.Interop.Tools.Generator-Tests/Java.Interop.Tools.Generator-Tests.csproj @@ -11,14 +11,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers-Tests.csproj b/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers-Tests.csproj index ca97271b7..9195db50c 100644 --- a/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers-Tests.csproj +++ b/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers-Tests.csproj @@ -13,14 +13,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/Java.Interop.Tools.JavaSource-Tests/Java.Interop.Tools.JavaSource-Tests.csproj b/tests/Java.Interop.Tools.JavaSource-Tests/Java.Interop.Tools.JavaSource-Tests.csproj index e6908e271..f563fc18c 100644 --- a/tests/Java.Interop.Tools.JavaSource-Tests/Java.Interop.Tools.JavaSource-Tests.csproj +++ b/tests/Java.Interop.Tools.JavaSource-Tests/Java.Interop.Tools.JavaSource-Tests.csproj @@ -7,14 +7,11 @@ $(TestOutputFullPath) - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/NativeTiming/NativeTiming.csproj b/tests/NativeTiming/NativeTiming.csproj index d744f014b..e6e3f1bfc 100644 --- a/tests/NativeTiming/NativeTiming.csproj +++ b/tests/NativeTiming/NativeTiming.csproj @@ -8,4 +8,6 @@ $(TestOutputFullPath) + + diff --git a/tests/NativeTiming/Directory.Build.targets b/tests/NativeTiming/NativeTiming.targets similarity index 100% rename from tests/NativeTiming/Directory.Build.targets rename to tests/NativeTiming/NativeTiming.targets diff --git a/tests/TestJVM/TestJVM.csproj b/tests/TestJVM/TestJVM.csproj index 809df0552..a259021a6 100644 --- a/tests/TestJVM/TestJVM.csproj +++ b/tests/TestJVM/TestJVM.csproj @@ -10,14 +10,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests.csproj b/tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests.csproj index cc464ca43..c723a267b 100644 --- a/tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests.csproj +++ b/tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests/Xamarin.Android.Tools.ApiXmlAdjuster-Tests.csproj @@ -10,14 +10,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj b/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj index 6f5671e76..bb368fa0d 100644 --- a/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj +++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj @@ -10,14 +10,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/Xamarin.SourceWriter-Tests/Xamarin.SourceWriter-Tests.csproj b/tests/Xamarin.SourceWriter-Tests/Xamarin.SourceWriter-Tests.csproj index a17efebe4..3ec049c1b 100644 --- a/tests/Xamarin.SourceWriter-Tests/Xamarin.SourceWriter-Tests.csproj +++ b/tests/Xamarin.SourceWriter-Tests/Xamarin.SourceWriter-Tests.csproj @@ -10,14 +10,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tests/generator-Tests/generator-Tests.csproj b/tests/generator-Tests/generator-Tests.csproj index 4f8ab257a..5a8d08bd9 100644 --- a/tests/generator-Tests/generator-Tests.csproj +++ b/tests/generator-Tests/generator-Tests.csproj @@ -13,15 +13,12 @@ - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + + diff --git a/tests/invocation-overhead/invocation-overhead.csproj b/tests/invocation-overhead/invocation-overhead.csproj index 15ab142b9..880f080c7 100644 --- a/tests/invocation-overhead/invocation-overhead.csproj +++ b/tests/invocation-overhead/invocation-overhead.csproj @@ -15,6 +15,9 @@ - + + + + diff --git a/tests/invocation-overhead/Directory.Build.targets b/tests/invocation-overhead/invocation-overhead.targets similarity index 100% rename from tests/invocation-overhead/Directory.Build.targets rename to tests/invocation-overhead/invocation-overhead.targets diff --git a/tests/logcat-parse-Tests/logcat-parse-Tests.csproj b/tests/logcat-parse-Tests/logcat-parse-Tests.csproj index 95cf76a43..af4103bed 100644 --- a/tests/logcat-parse-Tests/logcat-parse-Tests.csproj +++ b/tests/logcat-parse-Tests/logcat-parse-Tests.csproj @@ -10,14 +10,11 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + + + diff --git a/tools/class-parse/class-parse.csproj b/tools/class-parse/class-parse.csproj index a94b48d2e..37dbf3823 100644 --- a/tools/class-parse/class-parse.csproj +++ b/tools/class-parse/class-parse.csproj @@ -10,8 +10,8 @@ - - + + diff --git a/tools/generator/generator.csproj b/tools/generator/generator.csproj index 2015b03f6..9812499b2 100644 --- a/tools/generator/generator.csproj +++ b/tools/generator/generator.csproj @@ -30,15 +30,15 @@ - - + + - + $(PkgHtmlAgilityPack)\lib\netstandard2.0\HtmlAgilityPack.dll - + diff --git a/tools/java-source-utils/java-source-utils.csproj b/tools/java-source-utils/java-source-utils.csproj index 9bc8c1363..75d5be908 100644 --- a/tools/java-source-utils/java-source-utils.csproj +++ b/tools/java-source-utils/java-source-utils.csproj @@ -6,7 +6,7 @@ - + @@ -21,4 +21,6 @@ + + \ No newline at end of file diff --git a/tools/java-source-utils/Directory.Build.targets b/tools/java-source-utils/java-source-utils.targets similarity index 100% rename from tools/java-source-utils/Directory.Build.targets rename to tools/java-source-utils/java-source-utils.targets diff --git a/tools/jcw-gen/jcw-gen.csproj b/tools/jcw-gen/jcw-gen.csproj index 5cba1d92f..2b3d423d3 100644 --- a/tools/jcw-gen/jcw-gen.csproj +++ b/tools/jcw-gen/jcw-gen.csproj @@ -10,8 +10,8 @@ - - + + diff --git a/tools/jnimarshalmethod-gen/Xamarin.Android.Tools.JniMarshalMethodGenerator.csproj b/tools/jnimarshalmethod-gen/Xamarin.Android.Tools.JniMarshalMethodGenerator.csproj index 322f7c8cb..11a9f74f4 100644 --- a/tools/jnimarshalmethod-gen/Xamarin.Android.Tools.JniMarshalMethodGenerator.csproj +++ b/tools/jnimarshalmethod-gen/Xamarin.Android.Tools.JniMarshalMethodGenerator.csproj @@ -18,12 +18,12 @@ - - + + - + diff --git a/tools/logcat-parse/logcat-parse.csproj b/tools/logcat-parse/logcat-parse.csproj index ac11a8e4c..27b9af00f 100644 --- a/tools/logcat-parse/logcat-parse.csproj +++ b/tools/logcat-parse/logcat-parse.csproj @@ -10,10 +10,10 @@ - - - - + + + + @@ -22,4 +22,6 @@ + + diff --git a/tools/logcat-parse/Directory.Build.targets b/tools/logcat-parse/logcat-parse.targets similarity index 100% rename from tools/logcat-parse/Directory.Build.targets rename to tools/logcat-parse/logcat-parse.targets diff --git a/tools/param-name-importer/param-name-importer.csproj b/tools/param-name-importer/param-name-importer.csproj index 5580e1a85..1f1922e98 100644 --- a/tools/param-name-importer/param-name-importer.csproj +++ b/tools/param-name-importer/param-name-importer.csproj @@ -15,12 +15,12 @@ - + $(PkgMicrosoft_Xml_SgmlReader)\lib\netstandard2.0\SgmlReaderDll.dll - - + +