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' 屬性訊息中所述的建議時,就適合隱藏警告。