버전 도입: .NET 9
속성은 해당 속성 콘텐츠에 대한 코드 serialization을 구성하지 않습니다.
Control 파생된 클래스의 속성은 직렬화할 수 있는지 여부를 나타내야 합니다. 컨트롤이 정확하게 직렬화되도록 하려면 디자이너에 이 정보가 필요합니다.
기본적으로 Windows Forms 디자이너는 serialization 기본 설정을 지정하지 않는 Control의 공용 속성을 모두 직렬화합니다. 이로 인해 디자이너의 컨트롤 직렬화에 개인 데이터가 누출될 수 있습니다. 이 오류는 사용자가 컨트롤의 모든 공용 속성을 반드시 직렬화하도록 명시적으로 선언할 것을 보장합니다.
이 오류를 해결하려면
해당 속성의 직렬화를 나타냅니다.
디자이너가 속성 을/를 직렬화해야 하는 경우, 다음 방법 중 하나로 직렬화를 구성합니다.
기본값을 지정하여 속성에 DefaultValueAttribute 추가합니다. 속성이 기본값이 아닌 값으로 설정되면 속성이 serialize됩니다.
속성에 DesignerSerializationVisibilityAttribute 추가하고 표시 유형을 Visible 또는 Content설정합니다.
ShouldSerialize<PropertyName>메서드를 추가하고 속성을 serialize해야 하는지 여부를 나타내는 값을 반환합니다. 자세한 내용은 다시 설정 및 ShouldSerialize를 사용하여 속성제어를 참조하세요.
속성이 디자이너에 의해 직렬화되지 않아야 하는 경우, 속성에 을(를) 추가하고 가시성을 DesignerSerializationVisibilityAttribute으로 설정합니다.
오류 관리
다음 방법 중 하나를 사용하여 오류를 억제하십시오.
.editorConfig 파일에서 규칙의 심각도를 설정합니다.
[*.{cs,vb}] dotnet_diagnostic.WFO1000.severity = none편집기 구성 파일에 대한 자세한 내용은 코드 분석 규칙에 대한 구성 파일을 참조하세요.
프로젝트 파일에 다음
PropertyGroup추가합니다.<PropertyGroup> <NoWarn>$(NoWarn);WFO1000</NoWarn> </PropertyGroup>#pragma warning disable WFO1000디렉티브를 사용하여 코드의 출력을 억제합니다.
.NET Desktop feedback