diff --git a/MongoDB.Driver.snk b/MongoDB.Driver.snk new file mode 100644 index 00000000000..f8eaad4c83f Binary files /dev/null and b/MongoDB.Driver.snk differ diff --git a/benchmarks/MongoDB.Driver.Benchmarks/BenchmarkRunner.cs b/benchmarks/MongoDB.Driver.Benchmarks/BenchmarkRunner.cs index 2a328598a7d..0a4a3f95036 100644 --- a/benchmarks/MongoDB.Driver.Benchmarks/BenchmarkRunner.cs +++ b/benchmarks/MongoDB.Driver.Benchmarks/BenchmarkRunner.cs @@ -13,48 +13,53 @@ * limitations under the License. */ +using System.CommandLine; +using System.Linq; using BenchmarkDotNet.Configs; using BenchmarkDotNet.Running; using MongoDB.Benchmarks.Exporters; -using NDesk.Options; namespace MongoDB.Benchmarks { public class BenchmarkRunner { - public static void Main(string[] args) + public static int Main(string[] args) { - var executingDriverBenchmarks = false; - var exportingToEvergreen = false; - var evergreenOutputFile = "evergreen-results.json"; // default output file name + var rootCommand = new RootCommand("CSharp Driver benchmarks runner"); + rootCommand.TreatUnmatchedTokensAsErrors = false; + var evergreenOption = new Option("--evergreen", () => false); + rootCommand.AddOption(evergreenOption); + var driverBenchmarksOption = new Option("--driverBenchmarks", () => false); + rootCommand.AddOption(driverBenchmarksOption); + var evergreenOutputFileOption = new Option(["--o", "--output-file"], () => "evergreen-results.json"); + rootCommand.AddOption(evergreenOutputFileOption); - var parser = new OptionSet + rootCommand.SetHandler(invocationContext => { - { "evergreen", v => exportingToEvergreen = v != null }, - { "driverBenchmarks", v => executingDriverBenchmarks = v != null }, - { "o|output-file=", v => evergreenOutputFile = v } - }; + var evergreenValue = invocationContext.ParseResult.GetValueForOption(evergreenOption); + var driverBenchmarksValue = invocationContext.ParseResult.GetValueForOption(driverBenchmarksOption); + var evergreenOutputFileValue = invocationContext.ParseResult.GetValueForOption(evergreenOutputFileOption); - // the parser will try to parse the options defined above and will return any extra options - var benchmarkSwitcherArgs = parser.Parse(args).ToArray(); + var config = DefaultConfig.Instance; - var config = DefaultConfig.Instance; + // use a modified config if running driver benchmarks + if (driverBenchmarksValue) + { + config = config + .WithOption(ConfigOptions.JoinSummary, true) + .AddExporter(new LocalExporter()) + .HideColumns("BenchmarkDataSetSize"); + } - // use a modified config if running driver benchmarks - if (executingDriverBenchmarks) - { - config = config - .WithOption(ConfigOptions.JoinSummary, true) - .AddExporter(new LocalExporter()) - .HideColumns("BenchmarkDataSetSize"); - } + if (evergreenValue) + { + config = config.AddExporter(new EvergreenExporter(evergreenOutputFileValue)); + } - if (exportingToEvergreen) - { - config = config.AddExporter(new EvergreenExporter(evergreenOutputFile)); - } + BenchmarkSwitcher.FromAssembly(typeof(BenchmarkRunner).Assembly).Run(invocationContext.ParseResult.UnmatchedTokens.ToArray(), config); + }); - BenchmarkSwitcher.FromAssembly(typeof(BenchmarkRunner).Assembly).Run(benchmarkSwitcherArgs, config); + return rootCommand.Invoke(args); } } } diff --git a/benchmarks/MongoDB.Driver.Benchmarks/MongoDB.Driver.Benchmarks.csproj b/benchmarks/MongoDB.Driver.Benchmarks/MongoDB.Driver.Benchmarks.csproj index c51d7740066..ff084c2de45 100644 --- a/benchmarks/MongoDB.Driver.Benchmarks/MongoDB.Driver.Benchmarks.csproj +++ b/benchmarks/MongoDB.Driver.Benchmarks/MongoDB.Driver.Benchmarks.csproj @@ -20,11 +20,13 @@ NU1701,CA1001 true false + true + ..\..\MongoDB.Driver.snk - + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 73e00d7e9e4..bedb17c036b 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -27,6 +27,8 @@ snupkg true true + true + ..\..\MongoDB.Driver.snk diff --git a/src/MongoDB.Bson/Properties/AssemblyInfo.cs b/src/MongoDB.Bson/Properties/AssemblyInfo.cs index b888e73b149..ee574295e6c 100644 --- a/src/MongoDB.Bson/Properties/AssemblyInfo.cs +++ b/src/MongoDB.Bson/Properties/AssemblyInfo.cs @@ -26,4 +26,5 @@ // as Xamarin.iOS/Xamarin.Mac. [assembly: Preserve(AllMembers = true)] -[assembly: InternalsVisibleTo("MongoDB.Bson.Tests")] +[assembly: InternalsVisibleTo("MongoDB.Bson.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Analyzer.MQLGenerator, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] diff --git a/src/MongoDB.Bson/Serialization/TypeNameDiscriminator.cs b/src/MongoDB.Bson/Serialization/TypeNameDiscriminator.cs index 4032179f934..fe60becf7d0 100644 --- a/src/MongoDB.Bson/Serialization/TypeNameDiscriminator.cs +++ b/src/MongoDB.Bson/Serialization/TypeNameDiscriminator.cs @@ -145,7 +145,9 @@ public static string GetDiscriminator(Type type) if (match.Success) { var publicKeyToken = match.Groups["token"].Value; - if (publicKeyToken == "null") + if (publicKeyToken == "null" || + // MongoDB's assemblies should use "type name, assembly name" discriminator format for backward compatibility + (assembly.FullName.StartsWith("MongoDB") && publicKeyToken == "94992a530f44e321")) { var dllName = match.Groups["dll"].Value; assemblyName = dllName; diff --git a/src/MongoDB.Driver.Core/MongoDB.Driver.Core.csproj b/src/MongoDB.Driver.Core/MongoDB.Driver.Core.csproj index 1397aacca3c..14172351815 100644 --- a/src/MongoDB.Driver.Core/MongoDB.Driver.Core.csproj +++ b/src/MongoDB.Driver.Core/MongoDB.Driver.Core.csproj @@ -28,7 +28,7 @@ - + diff --git a/src/MongoDB.Driver.Core/Properties/AssemblyInfo.cs b/src/MongoDB.Driver.Core/Properties/AssemblyInfo.cs index 9ff4bda3868..f7c8ad484dc 100644 --- a/src/MongoDB.Driver.Core/Properties/AssemblyInfo.cs +++ b/src/MongoDB.Driver.Core/Properties/AssemblyInfo.cs @@ -25,13 +25,13 @@ // Required for most of the reflection usage in Xamarin.iOS/Xamarin.Mac. [assembly: Preserve(AllMembers = true)] -[assembly: InternalsVisibleTo("MongoDB.Driver")] -[assembly: InternalsVisibleTo("MongoDB.Driver.TestHelpers")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Core.FunctionalTests")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Core.TestHelpers")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Core.Tests")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.Tests")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.TestHelpers")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Tests")] -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] +[assembly: InternalsVisibleTo("MongoDB.Driver, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.TestHelpers, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Core.TestHelpers, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Core.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.TestHelpers, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] +[assembly: InternalsVisibleTo("MongoDB.Analyzer.MQLGenerator, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] diff --git a/src/MongoDB.Driver.GridFS/Properties/AssemblyInfo.cs b/src/MongoDB.Driver.GridFS/Properties/AssemblyInfo.cs index 868fbb12165..9547924c6bf 100644 --- a/src/MongoDB.Driver.GridFS/Properties/AssemblyInfo.cs +++ b/src/MongoDB.Driver.GridFS/Properties/AssemblyInfo.cs @@ -25,4 +25,4 @@ // Required for most of the reflection usage in Xamarin.iOS/Xamarin.Mac. [assembly: Preserve(AllMembers = true)] -[assembly: InternalsVisibleTo("MongoDB.Driver.GridFS.Tests")] +[assembly: InternalsVisibleTo("MongoDB.Driver.GridFS.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] diff --git a/src/MongoDB.Driver.Legacy/Properties/AssemblyInfo.cs b/src/MongoDB.Driver.Legacy/Properties/AssemblyInfo.cs index fcec451374e..44df7c4a81d 100644 --- a/src/MongoDB.Driver.Legacy/Properties/AssemblyInfo.cs +++ b/src/MongoDB.Driver.Legacy/Properties/AssemblyInfo.cs @@ -25,5 +25,5 @@ // Required for most of the reflection usage in Xamarin.iOS/Xamarin.Mac. [assembly: Preserve(AllMembers = true)] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.TestHelpers")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.Tests")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.TestHelpers, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] diff --git a/src/MongoDB.Driver/MongoDB.Driver.csproj b/src/MongoDB.Driver/MongoDB.Driver.csproj index a945d57e7bc..4ddae4cc5a6 100644 --- a/src/MongoDB.Driver/MongoDB.Driver.csproj +++ b/src/MongoDB.Driver/MongoDB.Driver.csproj @@ -20,7 +20,7 @@ - + diff --git a/src/MongoDB.Driver/Properties/AssemblyInfo.cs b/src/MongoDB.Driver/Properties/AssemblyInfo.cs index 9eb0f4c7cee..bb0e7428bb5 100644 --- a/src/MongoDB.Driver/Properties/AssemblyInfo.cs +++ b/src/MongoDB.Driver/Properties/AssemblyInfo.cs @@ -25,11 +25,12 @@ // Required for most of the reflection usage in Xamarin.iOS/Xamarin.Mac. [assembly: Preserve(AllMembers = true)] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.TestHelpers")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.Tests")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Tests")] -[assembly: InternalsVisibleTo("MongoDB.Driver.TestHelpers")] -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: InternalsVisibleTo("MongoDB.Driver.Benchmarks")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.TestHelpers, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Legacy.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Driver.TestHelpers, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] +[assembly: InternalsVisibleTo("MongoDB.Driver.Benchmarks, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] +[assembly: InternalsVisibleTo("MongoDB.Analyzer.MQLGenerator, PublicKey=002400000480000094000000060200000024000052534131000400000100010035287f0d3883c0a075c88e0cda3ce93b621003ecbd5e920d4a8c7238564f4d2f4f68116aca28c9b21341dc3a877679c14556192b2b2f5fe2c11d624e0894d308ff7b94bf6fd72aef1b41017ffe2572e99019d1c61963e68cd0ed67734a42cb333b808e3867cbe631937214e32e409fb1fa62fdb69d494c2530e64a40e417d6ee")] diff --git a/tests/BuildProps/Tests.Build.props b/tests/BuildProps/Tests.Build.props index e6150099b89..7b9984d15f7 100644 --- a/tests/BuildProps/Tests.Build.props +++ b/tests/BuildProps/Tests.Build.props @@ -11,6 +11,8 @@ netstandard2.0;netstandard2.1 $(StandardTargetFrameworks);net472 false + true + ..\..\MongoDB.Driver.snk diff --git a/tests/MongoDB.Bson.Tests/Jira/CSharp515Tests.cs b/tests/MongoDB.Bson.Tests/Jira/CSharp515Tests.cs index 54920f37ef1..5b72b0fb7fc 100644 --- a/tests/MongoDB.Bson.Tests/Jira/CSharp515Tests.cs +++ b/tests/MongoDB.Bson.Tests/Jira/CSharp515Tests.cs @@ -43,14 +43,7 @@ public S(IList list) } } -#if NET472 - private static readonly AssemblyName __assemblyName = Assembly.GetExecutingAssembly().GetName(); - private static readonly bool __assemblyIsSigned = __assemblyName.GetPublicKey().Length > 0; - private static readonly string __discriminatorAssemblyName = __assemblyIsSigned ? __assemblyName.FullName : __assemblyName.Name; -#else private static readonly string __discriminatorAssemblyName = "MongoDB.Bson.Tests"; -#endif - private string _jsonTemplate = ("{ '_id' : 1, 'R' : #V, 'S' : #V, 'RS' : { '_t' : 'S`1', '_v' : #V }, 'OR' : { '_t' : 'System.Collections.ObjectModel.ReadOnlyCollection`1[System.Int32]', '_v' : #V }, 'OS' : { '_t' : 'MongoDB.Bson.Tests.Jira.CSharp515.CSharp515Tests+S`1[System.Int32], " + __discriminatorAssemblyName + "', '_v' : #V } }").Replace("'", "\""); [Fact]