IL3002: Undvik att anropa medlemmar som kommenterats med "RequiresAssemblyFilesAttribute" när du publicerar som en enda fil.

Värde
Regel-ID IL3002
Kategori SingleFile
Korrigeringen bryter eller bryter inte Hårt

Orsak

När du publicerar en app som en enskild fil (till exempel genom att ange PublishSingleFile egenskapen till i ett projekt) är det inte en filkompatibelt att true anropa medlemmar som kommenterats med RequiresAssemblyFilesAttribute attributet. De här anropen är inte kompatibla eftersom medlemmar som kommenterats med det här attributet kräver att sammansättningsfiler finns på disk, och sammansättningarna som är inbäddade i en app med en enda fil är minnesinlästa.

Exempel:

[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();
}

Så här åtgärdar du överträdelser

Medlemmar som har kommenterats med attributet RequiresAssemblyFilesAttribute har ett meddelande som är avsett att ge användbar information till användare som publicerar som en enda fil. Överväg att anpassa befintlig kod till attributets meddelande eller ta bort det anrop som bryter mot det.

När du ska ignorera varningar

Det är lämpligt att ignorera varningen när den befintliga koden har anpassats till rekommendationen som beskrivs i attributet RequiresAssemblyFilesAttribute.