IL3002:以單一檔案形式發佈時,避免呼叫標註 'RequiresAssemblyFilesAttribute' 的成員。

規則識別碼 IL3002
類別 SingleFile
修正是中斷或不中斷 不中斷

原因

當您將應用程式發佈為單一檔案時 (例如將專案中的 PublishSingleFile 屬性設為 true),呼叫以 RequiresAssemblyFilesAttribute 屬性標註的成員會與單一檔案不相容。 這些呼叫不相容,因為以此屬性標註的成員需要磁碟上的組件檔,而且內嵌在單一檔案應用程式中的組件會載入記憶體。

範例:

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

如何修正違規

以 'RequiresAssemblyFilesAttribute' 屬性標註的成員具有一則訊息,用來向發佈為單一檔案的使用者提供有用的資訊。 請考慮將現有的程式碼調整為該屬性的訊息,或是移除不符合規則的呼叫。

隱藏警告的時機

現有程式碼已調整為 'RequiresAssemblyFilesAttribute' 屬性訊息中所述的建議時,就適合隱藏警告。