IL3002: 1 つのファイルとして発行するときに 'RequiresAssemblyFilesAttribute' で注釈が付けられるメンバーを呼び出しません。
値 | |
---|---|
ルール ID | IL3002 |
カテゴリ | SingleFile |
修正が破壊的か非破壊的か | 非破壊的 |
原因
アプリを 1 つのファイルとして発行する場合 (たとえば、プロジェクトで 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' 属性で注釈が付けられたメンバーには、1 つのファイルとして発行しているユーザーに有用な情報を提供することを目的としたメッセージが含まれています。 既存のコードを属性のメッセージに適合させるか、違反している呼び出しを削除することを検討してください。
どのようなときに警告を抑制するか
既存のコードが 'RequiresAssemblyFilesAttribute' 属性のメッセージに記載されている推奨事項に適合している場合は、警告を抑制することをお勧めします。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET