代码之家  ›  专栏  ›  技术社区  ›  user576510

Azure函数错误:无法加载文件或程序集“Microsoft”。Xrm。Sdk,版本=7.0.0.0’?

  •  0
  • user576510  · 技术社区  · 7 年前

    我正在做一个azure功能,并在本地测试它,它将向Dyanmcis CRM添加一些数据。当我运行函数时,它会抛出以下错误:

    无法加载文件或程序集“Microsoft”。Xrm。Sdk,版本=7.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'或其依赖项之一。系统找不到指定的文件。

    请注意,我的代码使用Microsoft。Xrm。客户端(版本7),它有Microsoft。Xrm。Sdk(版本8.1.0.235)。

    请帮忙。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Mikael Suokas    6 年前

    问题是由于缺少程序集重定向。通过添加 Microsoft.CrmSdk.CoreAssemblies NuGet程序包恢复正常。Net项目,并查看添加到 app.config .

    当前Azure函数不支持设置程序集重定向,因此必须在代码中完成。我使用这篇博文中的代码解决了这个问题: 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" } ]