Azure Functions dll 版本不匹配
Azure Functions dll version mismatch
我们有一个 Azure 函数,它通过私有 Nuget 源引用外部程序集。
我们遇到的问题是我们有两个不同版本的 Microsoft.Azure.WebJobs.dll - 一个是我们的 nuget 包的依赖项,另一个我假设是由运行时提供的。
error CS1503: Argument 2: cannot convert from 'Microsoft.Azure.WebJobs.ICollector<Microsoft.WindowsAzure.Storage.Table.ITableEntity> [D:\Program Files (x86)\SiteExtensions\Functions.0.10635\bin\Microsoft.Azure.WebJobs.dll]' to 'Microsoft.Azure.WebJobs.ICollector<Microsoft.WindowsAzure.Storage.Table.ITableEntity>
我发现这个问题说不支持绑定重定向:
Azure Functions binding redirect
我们可以尝试删除对该库的依赖,或者我们可以匹配 Azure Functions 使用的版本,但我认为无论如何使用 Microsoft.WindowsAzure.Storage 都会遇到同样的问题。
请指教!
您说得对,不支持绑定重定向。运行时对 WebJobs SDK 和存储库有自己的依赖性,因此传递给您的函数的对象将来自这些版本。我建议删除您对其他版本的依赖并捕捉到我们的。请注意,对于这些库,您不必添加自己的包引用,您可以通过以下方式在函数代码中引用我们的:
#r "WindowsAzure.Storage"
您不需要为 WebJobs SDK 类型(例如 ICollector<T>
)添加显式 #r
引用 - 运行时会隐式添加该程序集。当然这只适用于我们为您编译的函数代码,而不适用于来自您的外部包的代码。
将来我们可能会改进这方面的内容,但现在如果您尝试使用有冲突的版本,您将逆流而上。
我们有一个 Azure 函数,它通过私有 Nuget 源引用外部程序集。
我们遇到的问题是我们有两个不同版本的 Microsoft.Azure.WebJobs.dll - 一个是我们的 nuget 包的依赖项,另一个我假设是由运行时提供的。
error CS1503: Argument 2: cannot convert from 'Microsoft.Azure.WebJobs.ICollector<Microsoft.WindowsAzure.Storage.Table.ITableEntity> [D:\Program Files (x86)\SiteExtensions\Functions.0.10635\bin\Microsoft.Azure.WebJobs.dll]' to 'Microsoft.Azure.WebJobs.ICollector<Microsoft.WindowsAzure.Storage.Table.ITableEntity>
我发现这个问题说不支持绑定重定向:
Azure Functions binding redirect
我们可以尝试删除对该库的依赖,或者我们可以匹配 Azure Functions 使用的版本,但我认为无论如何使用 Microsoft.WindowsAzure.Storage 都会遇到同样的问题。
请指教!
您说得对,不支持绑定重定向。运行时对 WebJobs SDK 和存储库有自己的依赖性,因此传递给您的函数的对象将来自这些版本。我建议删除您对其他版本的依赖并捕捉到我们的。请注意,对于这些库,您不必添加自己的包引用,您可以通过以下方式在函数代码中引用我们的:
#r "WindowsAzure.Storage"
您不需要为 WebJobs SDK 类型(例如 ICollector<T>
)添加显式 #r
引用 - 运行时会隐式添加该程序集。当然这只适用于我们为您编译的函数代码,而不适用于来自您的外部包的代码。
将来我们可能会改进这方面的内容,但现在如果您尝试使用有冲突的版本,您将逆流而上。