linq2db / linq2db.LINQPad

linq2db.LINQPad is a driver for LINQPad.
MIT License
74 stars 23 forks source link

Adding MySQL broken #84

Closed Leon99 closed 1 year ago

Leon99 commented 1 year ago

LP6/7, x86/x64.

Trying to add a MySql server.

  1. Pasted a correct connection string, pressed Test, got Successful!
  2. Pressed OK, the window got frozen, pressed the window close cross, got the standard Not Responding dialog, pressed Try to restore program, got

image

  1. Pressed Yes, got a message box with this:

    ---------------------------
    Schema Build Error
    ---------------------------
    System.MissingMethodException: Method not found: 'System.Collections.Immutable.ImmutableArray`1<Byte> System.Reflection.Metadata.MetadataReader.GetBlobContent(System.Reflection.Metadata.BlobHandle)'.
    
    at Microsoft.CodeAnalysis.MetadataReaderExtensions.CreateAssemblyIdentityOrThrow(MetadataReader reader, Version version, AssemblyFlags flags, BlobHandle publicKey, StringHandle name, StringHandle culture, Boolean isReference)
    
    at Microsoft.CodeAnalysis.MetadataReaderExtensions.ReadAssemblyIdentityOrThrow(MetadataReader reader) in /_/src/Compilers/Core/Portable/MetadataReader/MetadataReaderExtensions.cs:line 52
    
    at Microsoft.CodeAnalysis.PEAssembly..ctor(AssemblyMetadata owner, ImmutableArray`1 modules) in /_/src/Compilers/Core/Portable/MetadataReader/PEAssembly.cs:line 59
    
    at Microsoft.CodeAnalysis.AssemblyMetadata.GetOrCreateData() in /_/src/Compilers/Core/Portable/MetadataReference/AssemblyMetadata.cs:line 342
    
    at Microsoft.CodeAnalysis.AssemblyMetadata.GetModules() in /_/src/Compilers/Core/Portable/MetadataReference/AssemblyMetadata.cs:line 283
    
    at Microsoft.CodeAnalysis.AssemblyMetadata.IsValidAssembly() in /_/src/Compilers/Core/Portable/MetadataReference/AssemblyMetadata.cs:line 410
    
    at Microsoft.CodeAnalysis.CommonReferenceManager`2.GetMetadata(PortableExecutableReference peReference, CommonMessageProvider messageProvider, Location location, DiagnosticBag diagnostics) in /_/src/Compilers/Core/Portable/ReferenceManager/CommonReferenceManager.Resolution.cs:line 496
    
    at Microsoft.CodeAnalysis.CommonReferenceManager`2.ResolveMetadataReferences(TCompilation compilation, Dictionary`2 assemblyReferencesBySimpleName, ImmutableArray`1& references, IDictionary`2& boundReferenceDirectiveMap, ImmutableArray`1& boundReferenceDirectives, ImmutableArray`1& assemblies, ImmutableArray`1& modules, DiagnosticBag diagnostics) in /_/src/Compilers/Core/Portable/ReferenceManager/CommonReferenceManager.Resolution.cs:line 321
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.ReferenceManager.CreateAndSetSourceAssemblyFullBind(CSharpCompilation compilation) in /_/src/Compilers/CSharp/Portable/Symbols/ReferenceManager.cs:line 357
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.ReferenceManager.CreateSourceAssemblyForCompilation(CSharpCompilation compilation) in /_/src/Compilers/CSharp/Portable/Symbols/ReferenceManager.cs:line 184
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetBoundReferenceManager() in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 1033
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.get_SourceAssembly() in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 1257
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.get_Assembly() in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 1270
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetRuntimeMetadataVersion(EmitOptions emitOptions) in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 3394
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetRuntimeMetadataVersion(EmitOptions emitOptions, DiagnosticBag diagnostics) in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 3376
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.CreateModuleBuilder(EmitOptions emitOptions, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, IEnumerable`1 manifestResources, CompilationTestData testData, DiagnosticBag diagnostics, CancellationToken cancellationToken) in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 3121
    
    at Microsoft.CodeAnalysis.Compilation.CheckOptionsAndCreateModuleBuilder(DiagnosticBag diagnostics, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, CompilationTestData testData, CancellationToken cancellationToken) in /_/src/Compilers/Core/Portable/Compilation/Compilation.cs:line 3062
    
    at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream metadataPEStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, RebuildData rebuildData, CompilationTestData testData, CancellationToken cancellationToken) in /_/src/Compilers/Core/Portable/Compilation/Compilation.cs:line 2821
    
    at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, Stream metadataPEStream, RebuildData rebuildData, CancellationToken cancellationToken) in /_/src/Compilers/Core/Portable/Compilation/Compilation.cs:line 2778
    
    at LinqToDB.LINQPad.LinqToDBDriver.GetSchemaAndBuildAssembly(IConnectionInfo cxInfo, AssemblyName assemblyToBuild, String& nameSpace, String& typeName)
    at Microsoft.CodeAnalysis.MetadataReaderExtensions.CreateAssemblyIdentityOrThrow(MetadataReader reader, Version version, AssemblyFlags flags, BlobHandle publicKey, StringHandle name, StringHandle culture, Boolean isReference)
    
    at Microsoft.CodeAnalysis.MetadataReaderExtensions.ReadAssemblyIdentityOrThrow(MetadataReader reader) in /_/src/Compilers/Core/Portable/MetadataReader/MetadataReaderExtensions.cs:line 52
    
    at Microsoft.CodeAnalysis.PEAssembly..ctor(AssemblyMetadata owner, ImmutableArray`1 modules) in /_/src/Compilers/Core/Portable/MetadataReader/PEAssembly.cs:line 59
    
    at Microsoft.CodeAnalysis.AssemblyMetadata.GetOrCreateData() in /_/src/Compilers/Core/Portable/MetadataReference/AssemblyMetadata.cs:line 342
    
    at Microsoft.CodeAnalysis.AssemblyMetadata.GetModules() in /_/src/Compilers/Core/Portable/MetadataReference/AssemblyMetadata.cs:line 283
    
    at Microsoft.CodeAnalysis.AssemblyMetadata.IsValidAssembly() in /_/src/Compilers/Core/Portable/MetadataReference/AssemblyMetadata.cs:line 410
    
    at Microsoft.CodeAnalysis.CommonReferenceManager`2.GetMetadata(PortableExecutableReference peReference, CommonMessageProvider messageProvider, Location location, DiagnosticBag diagnostics) in /_/src/Compilers/Core/Portable/ReferenceManager/CommonReferenceManager.Resolution.cs:line 496
    
    at Microsoft.CodeAnalysis.CommonReferenceManager`2.ResolveMetadataReferences(TCompilation compilation, Dictionary`2 assemblyReferencesBySimpleName, ImmutableArray`1& references, IDictionary`2& boundReferenceDirectiveMap, ImmutableArray`1& boundReferenceDirectives, ImmutableArray`1& assemblies, ImmutableArray`1& modules, DiagnosticBag diagnostics) in /_/src/Compilers/Core/Portable/ReferenceManager/CommonReferenceManager.Resolution.cs:line 321
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.ReferenceManager.CreateAndSetSourceAssemblyFullBind(CSharpCompilation compilation) in /_/src/Compilers/CSharp/Portable/Symbols/ReferenceManager.cs:line 357
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.ReferenceManager.CreateSourceAssemblyForCompilation(CSharpCompilation compilation) in /_/src/Compilers/CSharp/Portable/Symbols/ReferenceManager.cs:line 184
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetBoundReferenceManager() in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 1033
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.get_SourceAssembly() in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 1257
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.get_Assembly() in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 1270
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetRuntimeMetadataVersion(EmitOptions emitOptions) in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 3394
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetRuntimeMetadataVersion(EmitOptions emitOptions, DiagnosticBag diagnostics) in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 3376
    
    at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.CreateModuleBuilder(EmitOptions emitOptions, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, IEnumerable`1 manifestResources, CompilationTestData testData, DiagnosticBag diagnostics, CancellationToken cancellationToken) in /_/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs:line 3121
    
    at Microsoft.CodeAnalysis.Compilation.CheckOptionsAndCreateModuleBuilder(DiagnosticBag diagnostics, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, CompilationTestData testData, CancellationToken cancellationToken) in /_/src/Compilers/Core/Portable/Compilation/Compilation.cs:line 3062
    
    at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream metadataPEStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, RebuildData rebuildData, CompilationTestData testData, CancellationToken cancellationToken) in /_/src/Compilers/Core/Portable/Compilation/Compilation.cs:line 2821
    
    at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, Stream metadataPEStream, RebuildData rebuildData, CancellationToken cancellationToken) in /_/src/Compilers/Core/Portable/Compilation/Compilation.cs:line 2778
    
    at LinqToDB.LINQPad.LinqToDBDriver.GetSchemaAndBuildAssembly(IConnectionInfo cxInfo, AssemblyName assemblyToBuild, String& nameSpace, String& typeName)
    ---------------------------
    OK   
    ---------------------------
  2. Server added and seems working.
Leon99 commented 1 year ago

Also:

MaceWindu commented 1 year ago

It looks like something is wrong with your roslyn dependencies.

Have you changed versions of Microsoft.CodeAnalysis.CSharp or 'System.Collections.Immutable` nugets?

Leon99 commented 1 year ago

@MaceWindu I have not. Any ideas how to diagnose that?

MaceWindu commented 1 year ago

F4 -> Advanced -> Show assembly resolution log

MaceWindu commented 1 year ago

Driver was completely rewritten. Open new issue if it still exists