IL2026:具有 RequiresUnreferencedCode 屬性的成員在修剪時可能會中斷
原因
呼叫 (或透過反映存取) 標註 RequiresUnreferencedCodeAttribute 的成員。
例如:
[RequiresUnreferencedCode("Use 'MethodFriendlyToTrimming' instead", Url="http://help/unreferencedcode")]
void MethodWithUnreferencedCodeUsage()
{
}
void TestMethod()
{
// IL2026: Using method 'MethodWithUnreferencedCodeUsage' which has 'RequiresUnreferencedCodeAttribute'
// can break functionality when trimming application code. Use 'MethodFriendlyToTrimming' instead. http://help/unreferencedcode
MethodWithUnreferencedCodeUsage();
}
檔案描述
RequiresUnreferencedCodeAttribute 表示修剪器可能移除的成員參考程式碼。
常見的範例包括:
Load(String) 標示為
RequiresUnreferencedCode
,因為正在載入的組件可能會存取修剪掉的成員。 除了應用程式直接使用的成員外,修剪器會從架構中移除所有成員,因此在執行階段載入新的組件可能會嘗試存取遺漏的成員。XmlSerializer 標示為
RequiresUnreferencedCode
,因為XmlSerializer
使用複雜反映來掃描輸入型別。 修剪器無法追蹤反映,因此輸入型別可轉移使用的成員可能會遭修剪。