首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >System.MissingMethodException - Microsoft.Data.SqlClient

System.MissingMethodException - Microsoft.Data.SqlClient
EN

Stack Overflow用户
提问于 2021-08-02 08:14:40
回答 1查看 475关注 0票数 1

我正在使用MEF2 - System.Composition开发基于插件的应用程序。

我的shell的目标是.NET Core5.0(程序集名称: PI.exe)。

我的基础设施库包含用于Shell和Plugins之间通信和发现依赖关系的接口、类和扩展。库的目标是.NET标准(为了与.NET框架兼容)(程序集名称: PI.Core.dll)。

最后,我们有一个插件库,它可以针对.core,.standard,.framework。

为此目的,插件(程序集名称: MyPlugin.Core.dll)的目标是.NET Core 5和对Microsoft.Data.SqlClient包的引用。当我运行插件时,会出现错误:

代码语言:javascript
运行
复制
System.TypeInitializationException: The type initializer for 'Microsoft.Data.SqlClient.SqlConnection' threw an exception.
 ---> System.MissingMethodException: Method not found: 'System.Security.CodeAccessPermission System.Data.Common.DbProviderFactory.CreatePermission(System.Security.Permissions.PermissionState)'.
   at Microsoft.Data.SqlClient.SqlConnection.CreateExecutePermission()
   at Microsoft.Data.SqlClient.SqlConnection..cctor() in H:\tsaagent1\_work\18\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlConnectionHelper.cs:line 21
   --- End of inner exception stack trace ---
   at Microsoft.Data.SqlClient.SqlConnection..ctor() in H:\tsaagent1\_work\18\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlConnectionHelper.cs:line 29
   at MyPlugin.Core.ExecuteQuery(String name) in C:\PI\MyPlugin.Core\MyPluginSql.cs:line 28

我试过不同的目标总是有相同的例外。

从VS加载模块的哑巴:

代码语言:javascript
运行
复制
| NAME | VERSION |
| -------- | -------------- |
|Accessibility.dll|5.00.821.31504|
|Anonymously Hosted DynamicMethods Assembly||
|ControlzEx.dll|4.04.0.50|
|DevExpress.Mvvm.dll|20.02.0.0|
|DevExpress.Mvvm.UI.dll|20.02.0.0|
|DevExpress.Mvvm.v20.2.DynamicTypes.292c7474-81c7-4780-8d03-e4e7d5ee0da4||
|DirectWriteForwarder.dll|5,0,821,31506 @Commit: c3afd220b9380b3b329e7eddc63224d74e6f25fe|
|FileHelpers.dll|3.05.0.0|
|H.NotifyIcon.dll|1.00.18.0|
|Hardcodet.Wpf.TaskbarNotification.dll|1.00.18.0|
|**MyPlugin.Core.dll**|**1.00.0.0**|
|MahApps.Metro.dll|2.04.7.2|
|MaterialDesignColors.dll|2.00.1.2556|
|MaterialDesignThemes.MahApps.dll|0.01.7.2556|
|MaterialDesignThemes.Wpf.dll|4.01.0.2556|
|**Microsoft.Data.SqlClient.dll**|**3.00.21159.1**|
|Microsoft.Extensions.Configuration.Abstractions.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.Binder.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.CommandLine.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.EnvironmentVariables.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.FileExtensions.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.Json.dll|5.00.20.51904|
|Microsoft.Extensions.Configuration.UserSecrets.dll|5.00.20.51904|
|Microsoft.Extensions.DependencyInjection.Abstractions.dll|5.00.20.51904|
|Microsoft.Extensions.DependencyInjection.dll|5.00.821.31504|
|Microsoft.Extensions.FileProviders.Abstractions.dll|5.00.20.51904|
|Microsoft.Extensions.FileProviders.Physical.dll|5.00.20.51904|
|Microsoft.Extensions.FileSystemGlobbing.dll|5.00.20.51904|
|Microsoft.Extensions.Hosting.Abstractions.dll|5.00.20.51904|
|Microsoft.Extensions.Hosting.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.Abstractions.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.Configuration.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.Console.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.Debug.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.EventLog.dll|5.00.20.51904|
|Microsoft.Extensions.Logging.EventSource.dll|5.00.20.51904|
|Microsoft.Extensions.Options.ConfigurationExtensions.dll|5.00.20.51904|
|Microsoft.Extensions.Options.dll|5.00.20.51904|
|Microsoft.Extensions.Primitives.dll|5.00.20.51904|
|Microsoft.VisualStudio.Debugger.Runtime.NetCoreApp.dll|16.10.10610.2|
|Microsoft.VisualStudio.DesignTools.WpfTap.dll|16.10.31313.356|
|Microsoft.Win32.Primitives.dll|5.00.821.31504|
|Microsoft.Win32.Registry.dll|5.00.821.31504|
|Microsoft.Xaml.Behaviors.dll|1.01.19.35512|
|mscorlib.dll|5.00.821.31504|
|netstandard.dll|5.00.821.31504|
|**PI.Core.dll**|**1.00.0.0**|
|**PI.dll**|**1.00.0.0**|
|PresentationCore.dll|5.00.821.31506|
|PresentationCore.resources.dll|5.00.821.31506|
|PresentationFramework-SystemCore.dll|5.00.821.31506|
|PresentationFramework-SystemData.dll|5.00.821.31506|
|PresentationFramework-SystemXml.dll|5.00.821.31506|
|PresentationFramework.Aero2.dll|5.00.821.31506|
|PresentationFramework.dll|5.00.821.31506|
|PresentationFramework.resources.dll|5.00.821.31506|
|System.Buffers.dll|5.00.821.31504|
|System.Collections.Concurrent.dll|5.00.821.31504|
|System.Collections.dll|5.00.821.31504|
|System.Collections.Immutable.dll|5.00.821.31504|
|System.Collections.NonGeneric.dll|5.00.821.31504|
|System.Collections.Specialized.dll|5.00.821.31504|
|System.ComponentModel.Annotations.dll|5.00.821.31504|
|System.ComponentModel.dll|5.00.821.31504|
|System.ComponentModel.Primitives.dll|5.00.821.31504|
|System.ComponentModel.TypeConverter.dll|5.00.821.31504|
|System.Composition.AttributedModel.dll|5.00.220.61120|
|System.Composition.Hosting.dll|5.00.220.61120|
|System.Composition.Runtime.dll|5.00.220.61120|
|System.Composition.TypedParts.dll|5.00.220.61120|
|System.Configuration.ConfigurationManager.dll|5.00.20.51904|
|System.Console.dll|5.00.821.31504|
|System.Core.dll|5.00.821.31504|
|**System.Data.Common.dll**|**5.00.821.31504**|
|**System.Data.dll**|**5.00.821.31504**|
|System.Diagnostics.Debug.dll|5.00.821.31504|
|System.Diagnostics.EventLog.dll|5.00.321.7212|
|System.Diagnostics.PerformanceCounter.dll|5.00.321.7212|
|System.Diagnostics.Process.dll|5.00.821.31504|
|System.Diagnostics.StackTrace.dll|5.00.821.31504|
|System.Diagnostics.TraceSource.dll|5.00.821.31504|
|System.Diagnostics.Tracing.dll|5.00.821.31504|
|System.dll|5.00.821.31504|
|System.Drawing.Common.dll|5.00.421.11614|
|System.Drawing.Primitives.dll|5.00.821.31504|
|System.IO.FileSystem.dll|5.00.821.31504|
|System.IO.FileSystem.Watcher.dll|5.00.821.31504|
|System.IO.MemoryMappedFiles.dll|5.00.821.31504|
|System.IO.Packaging.dll|5.00.20.51904|
|System.IO.Pipes.dll|5.00.821.31504|
|System.Linq.dll|5.00.821.31504|
|System.Linq.Expressions.dll|5.00.821.31504|
|System.Memory.dll|5.00.821.31504|
|System.Net.Primitives.dll|5.00.821.31504|
|System.Net.Requests.dll|5.00.821.31504|
|System.Net.WebClient.dll|5.00.821.31504|
|System.Net.WebHeaderCollection.dll|5.00.821.31504|
|System.Numerics.Vectors.dll|5.00.821.31504|
|System.ObjectModel.dll|5.00.821.31504|
|System.Private.CoreLib.dll|5.00.821.31504|
|System.Private.DataContractSerialization.dll|5.00.821.31504|
|System.Private.Uri.dll|5.00.821.31504|
|System.Private.Xml.dll|5.00.821.31504|
|System.Reactive.dll|5.00.0.1|
|System.Reflection.Emit.dll|5.00.821.31504|
|System.Reflection.Emit.ILGeneration.dll|5.00.821.31504|
|System.Reflection.Emit.Lightweight.dll|5.00.821.31504|
|System.Reflection.Metadata.dll|5.00.821.31504|
|System.Reflection.Primitives.dll|5.00.821.31504|
|System.Resources.ResourceManager.dll|5.00.821.31504|
|System.Runtime.CompilerServices.Unsafe.dll|5.00.821.31504|
|System.Runtime.CompilerServices.VisualC.dll|5.00.821.31504|
|System.Runtime.dll|5.00.821.31504|
|System.Runtime.Extensions.dll|5.00.821.31504|
|System.Runtime.InteropServices.dll|5.00.821.31504|
|System.Runtime.InteropServices.RuntimeInformation.dll|5.00.821.31504|
|System.Runtime.Loader.dll|5.00.821.31504|
|System.Runtime.Numerics.dll|5.00.821.31504|
|System.Runtime.Serialization.Formatters.dll|5.00.821.31504|
|System.Runtime.Serialization.Json.dll|5.00.821.31504|
|System.Runtime.Serialization.Primitives.dll|5.00.821.31504|
|System.Runtime.Serialization.Xml.dll|5.00.821.31504|
|**System.Security.AccessControl.dll**|**5.00.821.31504**|
|System.Security.Claims.dll|5.00.821.31504|
|System.Security.Cryptography.Algorithms.dll|5.00.821.31504|
|**System.Security.Permissions.dll**|**5.00.20.51904**|
|System.Security.Principal.Windows.dll|5.00.821.31504|
|System.Text.Encoding.Extensions.dll|5.00.821.31504|
|System.Text.Json.dll|5.00.821.31504|
|System.Text.RegularExpressions.dll|5.00.821.31504|
|System.Threading.dll|5.00.821.31504|
|System.Threading.Overlapped.dll|5.00.821.31504|
|System.Threading.Tasks.dll|5.00.821.31504|
|System.Threading.Thread.dll|5.00.821.31504|
|System.Threading.ThreadPool.dll|5.00.821.31504|
|System.Transactions.dll|5.00.821.31504|
|System.Transactions.Local.dll|5.00.821.31504|
|System.Windows.Controls.Ribbon.dll|5.00.821.31506|
|System.Windows.Extensions.dll|5.00.20.51904|
|System.Windows.Forms.dll|5.00.821.31504|
|System.Windows.Forms.Primitives.dll|5.00.821.31504|
|System.Xaml.dll|5.00.821.31506|
|System.Xml.ReaderWriter.dll|5.00.821.31504|
|UIAutomationProvider.dll|5.00.821.31506|
|UIAutomationTypes.dll|5.00.821.31506|
|WindowsBase.dll|5.00.821.31506|

虽然有些库被迫使用程序集解析器通过自反加载,但是正确地发现了它们。

你有什么窍门要我查吗?

EN

回答 1

Stack Overflow用户

发布于 2021-08-19 10:15:06

我也有过类似的经历,并找到了这个参考

https://github.com/dotnet/SqlClient/issues/851

不幸的是,这只提到了不混合.NET版本的想法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68618366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档