La aplicación está en Azure Functions,
El error que recibimos de los registros del pod del contenedor es "No se pudo cargar el tipo 'Microsoft.Azure.WebJobs.Host.Scale.ConcurrencyManager' del ensamblado 'Microsoft.Azure.WebJobs.Host, Version=3.0.26.0".
En nuestra versión de aplicación, toda la versión dll es 3.0.30.0
En la carpeta "dll" de debug está teniendo la versión con 3.0.30.0
Y en esta versión 3.0.30.0 tiene la clase "Microsoft.Azure.WebJobs.Host.Scale.ConcurrencyManager"
No estoy seguro de dónde proviene este "ensamblado 'Microsoft.Azure.WebJobs.Host, Version=3.0.26.0".
Esta no es una respuesta directa a su pregunta, sino una herramienta que la respondería por usted. Como tuve muchos de este tipo de errores, escribí un código de ayuda para hacer precisamente eso. Está escrito para .net framework pero con cambios menores puedes tener lo mismo en el núcleo.
//folder where dependencies should be found var dir = @"C:\Repos\Project\bin"; //dll or exe that you want to inspect var dll = @"C:\Repos\Project\bin\Project.dll"; var asm = Assembly.ReflectionOnlyLoadFrom(dll); var stack = new Stack<Data>(); stack.Push(new Data { ReferencesPath = Array.Empty<Assembly>(), Assembly = asm }); List<AssemblyName> visited = new List<AssemblyName>(); while (stack.Any()) { var current = stack.Pop(); var dependencies = current.Assembly.GetReferencedAssemblies(); visited.Add(current.Assembly.GetName()); foreach (var item in dependencies) { if (!visited.Any(x => x.FullName == item.FullName)) { Assembly dependency; try { dependency = Assembly.ReflectionOnlyLoad(item.FullName); } catch { var path = Path.Combine(dir, item.Name) + ".dll"; dependency = Assembly.ReflectionOnlyLoadFrom(path); } if (dependency.GetName().Version != item.Version) { ; // put breakpoint here and inspect dependency // and item when you find your dll in wrong version // you can inspect current.ReferencesPath to see dependencies // chain that causes the error } stack.Push(new Data { Assembly = dependency, ReferencesPath = current.ReferencesPath.Concat( new[] { current.Assembly }).ToArray() }); } } } class Data { public Assembly[] ReferencesPath { get; set; } public Assembly Assembly { get; internal set; } }Tuve el mismo problema que el siguiente registro.
No se pudo cargar el tipo 'Microsoft.Azure.WebJobs.Host.Scale.ConcurrencyManager' del ensamblado 'Microsoft.Azure.WebJobs.Host, Version=3.0.25.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
Se debió a que mi imagen base para las funciones de Azure era antigua. El uso de la imagen base más nueva con la etiqueta a continuación ( mcr.microsoft.com/azure-functions/dotnet:3.4.2 ) solucionó mi problema.
FROM mcr.microsoft.com/azure-functions/dotnet:3.4.2 AS base WORKDIR /home/site/wwwroot EXPOSE 80 FROM mcr.microsoft.com/dotnet/sdk:3.1.416 AS build WORKDIR /srcPara mí, esto sucedía porque la versión de Azure Functions Core Tools no coincidía debido a la actualización de Visual Studio a la última versión. La eliminación de Azure Function Tools de la ruta del sistema C:\Users\user.name\AppData\Local\AzureFunctionsTools y Permitir que Visual Studio instale automáticamente Azure Functions Core Tools solucionó el problema.