Compartir a través de


IL3002: Evite llamar a los miembros anotados con "RequiresAssemblyFilesAttribute" al publicar como archivo único

Importancia
Identificador de la regla IL3002
Categoría Archivo único
La solución es romper o no romper No importante

Causa

Al publicar una aplicación como un único archivo (por ejemplo, estableciendo la PublishSingleFile propiedad true en un proyecto), llamar a los miembros anotados con el RequiresAssemblyFilesAttribute atributo no es compatible con archivos únicos. Estas llamadas no son compatibles porque los miembros anotados con este atributo requieren que los archivos de ensamblado estén en el disco y los ensamblados incrustados en una aplicación de archivo único están cargados en memoria.

Ejemplo:

[RequiresAssemblyFiles(Message="Use 'MethodFriendlyToSingleFile' instead", Url="http://help/assemblyfiles")]
void MethodWithAssemblyFilesUsage()
{
}
void TestMethod()
{
    // IL3002: Using member 'MethodWithAssemblyFilesUsage' which has 'RequiresAssemblyFilesAttribute'
    // can break functionality when embedded in a single-file app. Use 'MethodFriendlyToSingleFile' instead. http://help/assemblyfiles
    MethodWithAssemblyFilesUsage();
}

Cómo corregir infracciones

Los miembros anotados con el atributo "RequireAssemblyFilesAttribute" tienen un mensaje destinado a proporcionar información útil a los usuarios que están publicando como un único archivo. Considere la posibilidad de adaptar el código existente al mensaje del atributo o quitar la llamada infractora.

Cuándo suprimir las advertencias

Es adecuado suprimir la advertencia cuando se ha adaptado el código existente a la recomendación descrita en el mensaje del atributo "RequireAssemblyFilesAttribute".