Tengo un complemento VS que está usando un BinaryFormatter para deserializar un objeto. Para resolver el tipo de este objeto, llama a Assembly.Load (objectTypeFullName) pero está activando una excepción porque Assembly.Load no puede encontrar el ensamblado en ninguno de los lugares en los que está realizando la búsqueda. El ensamblado dado es hermano del ensamblaje complementario, pero parece que Assembly.Load() no puede encontrarlo allí.¿Cómo determinar dónde Assembly.Load() busca ensamblajes?
Una posible solución sería determinar dónde Assembly.Load debería buscar ensamblajes.
¿Qué debo hacer?
PD: Estoy tratando de no colocar este ensamblaje en GAC porque tendré que actualizarlo cada vez que vuelva a compilar el ensamblaje.
Gracias Reed. Algunas notas: aunque AppDomain.AppendPrivatePath está en desuso en favor de AppDomainSetup.PrivateBinPath, solo pude usar el primero. AppDomainSetup.PrivateBinPath permanece nulo después de que lo modifique. AppDomain.AppendPrivatePath me permite agregar cualquier ruta QUE ES UN NIÑO DE AppDomain.BaseDirectory, que en muchos casos es suficiente, no en el mío porque mi BaseDirectory es el directorio DevEnv. La otra solución, AppDomain.AssemblyResolve es lo suficientemente buena. Notas: El evento solo se invoca cuando .NET no puede resolver el ensamblaje por sí mismo. Si todos los controladores devuelven nulo, se lanza una excepción –