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.