Azure functions 如何使azure functions v2从bin文件夹而不是从主机bin加载程序集?

Azure functions 如何使azure functions v2从bin文件夹而不是从主机bin加载程序集?,azure-functions,Azure Functions,我对旧keyvault包的代码有依赖性 如果我在函数中检查加载的内容: var a = AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(Path.Combine(assemblyFolder, "Microsoft.Azure.KeyVault.dll"))); 我看到它加载的是3.0.0而不是1.0.0,而且它是从 AppData/Local/AzureFunctionsTools/Releases/2.24.0/cli/

我对旧keyvault包的代码有依赖性

如果我在函数中检查加载的内容:

var a = AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(Path.Combine(assemblyFolder, "Microsoft.Azure.KeyVault.dll")));
我看到它加载的是3.0.0而不是1.0.0,而且它是从

AppData/Local/AzureFunctionsTools/Releases/2.24.0/cli/Microsoft.Azure.KeyVault.dll

而不是函数输出的bin文件夹
\bin\Debug\netcoreapp2.2\bin\

如何告诉我的函数项目使用输出箱中的DLL


并不是说程序集加载只是为了调试正在发生的事情。由于程序集版本1.0.0和3.0.0不兼容,我的客户端代码稍后会失败。

您可以使用以下代码:

var binPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string dll = Directory.GetFiles(binPath, "Microsoft.Azure.KeyVault.dll", SearchOption.AllDirectories)[0];
Assembly loadedAssembly = Assembly.LoadFile(dll);
快照:

很抱歉,无法使其工作。它在尝试加载dll时开始抛出其他异常。我改用v1框架,并在那里工作。