Share via


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’ 특성의 메시지에 설명된 권장 사항에 따라 기존 코드를 조정한 경우 경고를 표시하지 않는 것이 좋습니다.