![](/img/trans.png)
[英]Send email from .NET Core using Microsoft 365 Family subscription
[英]Microsoft Dynamics 365 SDK Core Assemblies .NET Core Porting Error
尝试在 .NET Core 2.0 项目中使用Microsoft Dynamics 365 SDK 核心程序集时,只需using Microsoft.Xrm.Sdk
即可在运行时发生以下错误:
TypeLoadException:无法从程序集“System.ServiceModel、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089”加载类型“System.ServiceModel.Description.MetadataConversionError”。
看起来核心程序集 (Microsoft.Xrm.Sdk.Client) 可能与 ~net4x 以外的任何东西都不兼容。
有什么明显的方法可以解决此错误或在目标netcoreapp2.0
的上下文中加载Microsoft.Xrm.Sdk
所需的 WCF System.ServiceModel
类/接口? 是否可以使用Microsoft.Windows.Compatibility来弥合差距? 看起来 Microsoft.Windows.Compatibility 包文档表明Windows Communication Foundation (WCF)类/接口“可用”。 我如何使用兼容包加载System.ServiceModel.Description
?
感谢您提供任何帮助!
根据 github 上的多次讨论,我尝试了所有可能的事情,可以说 SDK、ServiceModel 等与 .net 核心不兼容,而且永远不会兼容。 但是,我能够做到这一点:
重要编辑:我发现 SDK 2016 由于各种原因不能在 Linux 上的 .net 核心中可靠地工作,并在 2011 年停止(nuget 包是Microsoft.Xrm.Sdk.2011
)。 它工作正常,但在一种情况下除外:当您执行context.AddObject
并传递没有 ID 的 Entity 时。 SDK 依赖于 p/调用本机 Windows 库来创建顺序 UUID 并在 Linux 上崩溃。 您可以通过在调用.AddObject()
之前设置 ID 来解决这个问题。
我遇到了同样的问题,当我在 Visual Studio 中选择模板控制台应用程序(.Net Framework)而不是控制台应用程序(.Net Core)时,它得到了解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.