Metadata file '...' could not be opened -- PE image doesn't contain managed metadata.
We have a nuget package that includes a native dll (it is Microsoft.Data.SqlClient.SNI.x86.dll - which we had to include to resolves some other issue on our way to adopt .NET Core) and anytime we add it to LINQPad, LINQPad stops working with the error message in the title. As a workaround we can delete the files but this causes LINQPad to prompt to redownload the package which restores the files and then we must delete them again.
I see this error has appeared a few times here since 2015 but I don't see any permanent resolution. Is the only way to create a special LINQPad version of our package that doesn't include these files?
I'm using version 5.43.0.0 btw, thanks! I tried testing v6 but the nuget feature isn't enabled w/o purchase.
Comments
The following thread describes how to get this working with LINQPad 5:
https://forum.linqpad.net/discussion/2039/sni-dll
Starting MySql.EntityFrameworkCore 5.017.1 version and newer, I am seeing PE image doesn't contain managed metadata error. Older version has no error.
Running the latest version of
MySql.EntityFrameworkCore
on LINQPad 7 and getting the same errors. Is this a problem with the client or LINQPad? I have no problems running this in VS.In the MySql.Data package, the native DLLs have been put into the lib folder rather than the runtimes folder!
I've updated the latest LINQPad 7 beta so that it can handle this kind of packaging error:
https://www.linqpad.net/linqpad7.aspx#beta
Let me know how you get along.