Dela via


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

Värde
Regel-ID IL3002
Kategori En fil
Korrigeringen bryter eller bryter inte Oskiljbar

Orsak

När du publicerar en app som en enskild fil (till exempel genom att ställa in PublishSingleFile-egenskapen i ett projekt) är det inte kompatibelt med en enskild fil att anropa medlemmar som markerats med true-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.