Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Nota:
Este artículo es específico de .NET Framework. No se aplica a implementaciones más recientes de .NET, incluidas .NET 6 y versiones posteriores.
El loadFromContext asistente de depuración administrada (MDA) se activa si se carga un ensamblado en el LoadFrom contexto. Esta situación puede producirse como resultado de llamar a Assembly.LoadFrom u otros métodos similares.
Síntomas
El uso de algunos métodos del cargador puede dar lugar a que los ensamblados se carguen en el LoadFrom contexto. El uso de este contexto puede dar lugar a un comportamiento inesperado para la serialización, la conversión y la resolución de dependencias. En general, se recomienda cargar los ensamblados en el Load contexto para evitar estos problemas. Es difícil determinar en qué contexto se ha cargado un ensamblado sin este MDA.
Causa
Por lo general, un ensamblado se cargó en el LoadFrom contexto si se cargó desde una ruta de acceso fuera del Load contexto, como la caché global de ensamblados o la AppDomainSetup.ApplicationBase propiedad .
Resolution
Configure aplicaciones de forma que LoadFrom las llamadas ya no sean necesarias. Puede usar las siguientes técnicas para hacerlo:
Instale ensamblados en la caché global de ensamblados.
Coloque ensamblados en el ApplicationBase directorio para .AppDomain En el caso del dominio predeterminado, el ApplicationBase directorio es el que contiene el archivo ejecutable que inició el proceso. Esto también puede requerir la creación de un nuevo AppDomain si no es conveniente mover el ensamblado.
Agregue una ruta de acceso de sondeo al archivo de configuración de la aplicación (.config) o a dominios de aplicación secundarios si los ensamblados dependientes están en directorios secundarios relativos al ejecutable.
En cada caso, el código se puede cambiar para usar el Assembly.Load método .
Efecto en el tiempo de ejecución
El MDA no tiene ningún efecto en clR. Informa del contexto que se usó como resultado de una solicitud de carga.
Salida
El MDA informa de que el ensamblado se cargó en el LoadFrom contexto. Especifica el nombre simple del ensamblado y la ruta de acceso. También sugiere mitigaciones para evitar el uso del LoadFrom contexto.
Configuración
<mdaConfig>
<assistants>
<loadFromContext />
</assistants>
</mdaConfig>
Ejemplo
En el ejemplo de código siguiente se muestra una situación que puede activar este MDA:
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// The following call caused the LoadFrom context to be used
// because the assembly is loaded using LoadFrom and the path is
// located outside of the Load context probing path.
Assembly.LoadFrom(@"C:\Text\Test.dll");
}
}
}