Azure function error: Could not load file or assembly 'Microsoft.Xrm.Sdk, Version=7.0.0.0'?

Azure function error: Could not load file or assembly 'Microsoft.Xrm.Sdk, Version=7.0.0.0'?

我正在执行一个 azure 函数并在本地测试它,它会将一些数据添加到 Dyanmcis CRM。当我 运行 函数时它抛出这个错误:

无法加载文件或程序集 'Microsoft.Xrm.Sdk, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。系统找不到指定的文件。

请注意我的代码使用 Microsoft.Xrm.Client(版本 7)并且它有 Microsoft.Xrm.Sdk(版本 8.1.0.235)。

请帮忙。

问题是由于缺少程序集重定向。您可以通过将 Microsoft.CrmSdk.CoreAssemblies NuGet 包添加到普通 .Net 项目并查看添加到 app.config.

的生成的绑定重定向语句来准确了解需要哪个程序集重定向

目前 Azure Functions 不支持设置程序集重定向,因此必须在代码中完成。我使用此博客 post 中的代码解决了这个问题:How to fix the assembly binding redirect problem in Azure Functions

使用该代码,local.settings.json 看起来像这样:

"Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": "",
    "BindingRedirects": "[ { \"ShortName\": \"Microsoft.Xrm.Sdk\", \"RedirectToVersion\": \"8.0.0.0\", \"PublicKeyToken\": \"31bf3856ad364e35\" } ]"
}

在 Azure 门户的应用程序设置中:

[ { "ShortName": "Microsoft.Xrm.Sdk", "RedirectToVersion": "8.0.0.0", "PublicKeyToken": "31bf3856ad364e35" } ]