次の方法で共有


IL3002: 1 つのファイルとして発行するときに、'RequiresAssemblyFilesAttribute' で注釈が付けられたメンバーを呼び出さないようにする

価値
ルール識別子 IL3002
カテゴリ シングルファイル
修正プログラムが破壊的か非破壊的か 非破壊的

原因

アプリを 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' 属性のメッセージに記載されている推奨事項に既存のコードが適合している場合は、警告を抑制することをお勧めします。