将 Dynamics CRM SDK 与 .NET Core 结合使用
Using Dynamics CRM SDK with .NET Core
有没有办法通过 Dynamics SDK 从 .NET Core 应用程序连接到 Dynamics CRM 365?或者我应该使用 Web Api?
我读过这是可能的,但是当我从我的 .NET Core Class 库引用 SDK 并尝试连接时,我收到错误:
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Web.Services..
.NET Core 似乎不支持此 DLL:
我的代码是这样的:
new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
我可以在 .NET Framework 项目中成功运行它。
很遗憾,您需要 .NET Framework 4.6.2 或更高版本才能构建自定义应用程序。
使用 .NET Core runtime 与 .NET Core framework 的应用程序之间存在区别。正如您所发现的,Dynamics 365 SDK 目前不能与 .NET Core 运行时一起使用,但是当 .NET Core 项目以 .NET Framework 运行时为目标时,它可以与 .NET Core 框架一起使用。 =19=] 在项目文件中使用 .NET Framework 的 target framework moniker (TFM) 设置。例如,对于 .NET Core 控制台应用程序,.csproj 文件将如下所示(注意 TargetFramework):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CrmSdk.CoreAssemblies" Version="9.0.2.5" />
</ItemGroup>
</Project>
此类应用程序不能跨平台,只能在 Windows 上执行,但仍允许使用其他 .NET Standard class 库和框架,例如 ASP.NET在 .NET Framework 运行时上执行时实现 .NET Standard 的核心。最终,如果 Dynamics 365 SDK 被更新为在 .NET Core 运行时上工作,项目文件的目标框架监视器值可以更改为 .NET Core 并变得跨平台。
您应该试用新的 CDM SDK。它使用 .NET Core 并支持 Dynamics CRM 365。
https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client
记得替换:
new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
有了这个:
new Microsoft.PowerPlatform.Dataverse.Client.ServiceClient(connectionString);
确保 select 包括预发布。
有没有办法通过 Dynamics SDK 从 .NET Core 应用程序连接到 Dynamics CRM 365?或者我应该使用 Web Api?
我读过这是可能的,但是当我从我的 .NET Core Class 库引用 SDK 并尝试连接时,我收到错误:
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Web.Services..
.NET Core 似乎不支持此 DLL:
我的代码是这样的:
new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
我可以在 .NET Framework 项目中成功运行它。
很遗憾,您需要 .NET Framework 4.6.2 或更高版本才能构建自定义应用程序。
使用 .NET Core runtime 与 .NET Core framework 的应用程序之间存在区别。正如您所发现的,Dynamics 365 SDK 目前不能与 .NET Core 运行时一起使用,但是当 .NET Core 项目以 .NET Framework 运行时为目标时,它可以与 .NET Core 框架一起使用。 =19=] 在项目文件中使用 .NET Framework 的 target framework moniker (TFM) 设置。例如,对于 .NET Core 控制台应用程序,.csproj 文件将如下所示(注意 TargetFramework):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CrmSdk.CoreAssemblies" Version="9.0.2.5" />
</ItemGroup>
</Project>
此类应用程序不能跨平台,只能在 Windows 上执行,但仍允许使用其他 .NET Standard class 库和框架,例如 ASP.NET在 .NET Framework 运行时上执行时实现 .NET Standard 的核心。最终,如果 Dynamics 365 SDK 被更新为在 .NET Core 运行时上工作,项目文件的目标框架监视器值可以更改为 .NET Core 并变得跨平台。
您应该试用新的 CDM SDK。它使用 .NET Core 并支持 Dynamics CRM 365。 https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client
记得替换:
new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
有了这个:
new Microsoft.PowerPlatform.Dataverse.Client.ServiceClient(connectionString);
确保 select 包括预发布。