.NET Core 2.0 - Azure Function,程序集运行时解析期间的异常

.NET Core 2.0 - Azure Function, Exception during runtime resolution of assembly

我正在 运行 引用另一个 .NET Standard 2.0 class 库的 .NET Standard 2.0 Azure 函数。

我能够构建引用 class 库的函数。但是当我 运行 一个使用 class 库的特定函数时,我得到一个异常。

Exception during runtime resolution of assembly 'StorageQueueStandard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null': 'System.InvalidCastException: [A]System.AppDomain cannot be cast to [B]System.AppDomain. Type A originates from 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' in the context 'Default' at location 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App.0.5\System.Private.CoreLib.dll'. Type B originates from 'System.Runtime.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' in the context 'Default' at location 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App.0.5\System.Runtime.Extensions.dll'.
    [21-2-2018 08:48:47]    at Microsoft.Azure.WebJobs.Script.Description.FunctionAssemblyLoader.ResolveAssembly(Object sender, ResolveEventArgs args) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\DotNet\FunctionAssemblyLoader.cs:line 69'
    [21-2-2018 08:48:47] Unable to find assembly 'StorageQueueStandard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Are you missing a private assembly file?

"StorageQueueStandard" 是 class 库的名称。

[A]System.AppDomain cannot be cast to [B]System.AppDomain.

从不同的 dll 加载程序集时可能会发生这种情况。

如错误所示,System.Private.CoreLib 和 System.Runtime.Extensions 都有 System.AppDomain.

请检查您的代码并参考此issue。该问题表明新的 .NET Core 在运行时 .

还不支持 ServiceBus 触发器

我不清楚你这个错误在哪里,所以如果你仍然有这个问题,希望你能告诉我更详细的代码和描述。

为了解决我的问题,我删除了我的项目并使用 Visual Studio 创建了一个新的 azure .net 标准函数。

之后我将 WindowsAzure.Storage 降级到 8.6.0。

欲了解更多信息,请访问:https://github.com/Azure/azure-functions-core-tools/issues/322