Azure functions Autofac动态程序集绑定在Azure函数中不起作用

Azure functions Autofac动态程序集绑定在Azure函数中不起作用,azure-functions,autofac,azure-functions-runtime,Azure Functions,Autofac,Azure Functions Runtime,不确定如何在Azure函数中解析程序集引用,但以下代码在控制台应用程序中运行良好(我已尝试使用.net core控制台和.net 4.6.1控制台)。如果我尝试在函数应用程序中使用相同的代码,我会收到我在代码注释中提到的错误消息。我正在使用最新版本(15.10.2046.0)的函数和Web作业工具 注意:我已手动将myplugin.dll复制到我的函数应用程序的bin文件夹中。我在我的控制台应用程序中也做了同样的事情,其中的代码是相同的 var assemblyRoot = Path.GetDi

不确定如何在Azure函数中解析程序集引用,但以下代码在控制台应用程序中运行良好(我已尝试使用.net core控制台和.net 4.6.1控制台)。如果我尝试在函数应用程序中使用相同的代码,我会收到我在代码注释中提到的错误消息。我正在使用最新版本(15.10.2046.0)的函数和Web作业工具

注意:我已手动将myplugin.dll复制到我的函数应用程序的bin文件夹中。我在我的控制台应用程序中也做了同样的事情,其中的代码是相同的

var assemblyRoot = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var pluginPath = Directory.GetFiles(assemblyRoot, $"myplugin.dll").FirstOrDefault();

var pluginAssembly = Assembly.LoadFile(pluginPath);

var builder = new ContainerBuilder(); // I am using Autofac
builder.RegisterAssemblyTypes(pluginAssembly).AsImplementedInterfaces().SingleInstance();

var container = builder.Build();
 // Here I am getting errors like "Unable to find assembly '<assembly>'. Are you missing a private assembly file?" for various referenced assemblies like automapper, MongoDB.Bson etc.

var plugIn = container.Resolve<IPlugin>(); 
// Here I am getting "'IPlugIn' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.'"
var assemblyRoot=Path.GetDirectoryName(Assembly.getExecutionGassembly().Location);
var pluginPath=Directory.GetFiles(assemblyRoot,$“myplugin.dll”).FirstOrDefault();
var pluginAssembly=Assembly.LoadFile(pluginPath);
var builder=new ContainerBuilder();//我正在使用Autofac
RegisterAssemblyTypes(pluginAssembly).AsImplementedInterfaces().SingleInstance();
var container=builder.Build();
//在这里,对于各种引用的程序集(如automapper、MongoDB.Bson等),我遇到了诸如“找不到程序集“”。是否缺少私有程序集文件”之类的错误。
var plugIn=container.Resolve();
//这里我看到“'IPlugIn'尚未注册。若要避免此异常,请注册一个组件以提供服务,使用IsRegistered()检查服务注册,或使用ResolveOptional()方法解析可选依赖项。”
如有任何帮助或见解,将不胜感激。谢谢。

V1(NET 4.6):

V2(净核心):

V1(净4.6):

V2(净核心):


感谢您为我提供了一些有用的资源。不幸的是,我已经做了同样的事情,但是直接在函数方法内部,而不是创建引导程序。builder.RegisterAssemblyTypes()仍然无法工作。感谢您为我提供一些有用的资源。不幸的是,我已经做了同样的事情,但是直接在函数方法内部,而不是创建引导程序。RegisterAssemblyTypes()仍然无法工作。