IL3001:当发布为单个文件时,避免访问程序集文件路径

规则 ID IL3001
类别 SingleFile
修复是中断修复还是非中断修复 非中断性

原因

将应用发布为单个文件(例如,通过将 PublishSingleFile 属性设置为项目中 true)时,为单文件捆绑包内嵌入的程序集调用 Assembly.GetFile(s) 方法将始终引发异常,因为这些方法与单文件不兼容。

如何解决冲突

若要将文件嵌入单文件捆绑包中的程序集,请考虑使用嵌入的资源和 Assembly.GetManifestResourceStream 方法。

何时禁止显示警告

如果要访问的程序集肯定不在单文件捆绑包中,则可关闭此警告。 如果程序集是从文件路径动态加载的,则程序集可能不在捆绑包中。