Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Causa
Un proyecto ha sido <VerifyReferenceTrimCompatibility>true</VerifyReferenceTrimCompatibility> establecido y uno o varios ensamblados a los que se hace referencia no tienen el atributo de metadatos del ensamblado IsTrimmable establecido en true.
Descripción de la regla
Al publicar una aplicación recortada mediante <PublishTrimmed>true</PublishTrimmed> o marcar el proyecto como recortable con <IsTrimmable>true</IsTrimmable>, puede habilitar opcionalmente la comprobación de que todos los ensamblados a los que se hace referencia también se anotan para la compatibilidad de recorte. Esto ayuda a garantizar que todas las dependencias de tu proyecto estén anotadas para la compatibilidad con el recorte.
Para habilitar esta comprobación, establezca la propiedad VerifyReferenceTrimCompatibility en el true archivo del proyecto:
<PropertyGroup>
<PublishTrimmed>true</PublishTrimmed>
<VerifyReferenceTrimCompatibility>true</VerifyReferenceTrimCompatibility>
</PropertyGroup>
Cuando esta propiedad está habilitada, el analizador comprueba que todos los ensamblados a los que se hace referencia se han compilado con <IsTrimmable>true</IsTrimmable>, que agrega el atributo [assembly: AssemblyMetadata("IsTrimmable", "True")] de nivel de ensamblado al ensamblado.
Example
// Assembly reference: MyLibrary.dll (built without <IsTrimmable>true</IsTrimmable>)
public class Program
{
public static void Main()
{
var obj = new MyLibrary.SomeClass();
}
}
warning IL2125: Referenced assembly 'MyLibrary' is not built with `<IsTrimmable>true</IsTrimmable>` and may not be compatible with trimming.
Cómo corregir infracciones
Tiene varias opciones para corregir esta advertencia:
- Si controla el código fuente de la biblioteca, actualice la biblioteca a la que se hace referencia para que se construya con
<IsTrimmable>true</IsTrimmable>. Para obtener instrucciones sobre cómo hacer que las bibliotecas sean compatibles con el recorte, consulte Preparación de bibliotecas de .NET para el recorte. Este es el enfoque preferido. - Si está seguro de que la biblioteca funciona correctamente con el recorte incluso sin el atributo , deshabilite la comprobación estableciendo
<VerifyReferenceTrimCompatibility>false</VerifyReferenceTrimCompatibility>en el archivo del proyecto.