IL3002:当发布为单个文件时,避免调用使用“RequiresAssemblyFilesAttribute”注释的成员。
值 | |
---|---|
规则 ID | 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”属性消息中概述的建议调整现有代码,则可禁止显示警告。