XML 직렬화 어셈블리 생성 자동화
XML 직렬화 작업 시 자주 발생하는 오류는 "MyAssembly.XmlSerializers" 어셈블리의 FileNotFoundException
입니다. 이는 프레임워크가 자동으로 생성된 직렬화 어셈블리를 찾을 수 없기 때문에 발생합니다.
Microsoft의 솔루션에는 MSBuild 속성SGenUseProxyTypes
이 포함됩니다. SGen
작업에는 일반적으로 /proxytypes
명령에 sgen.exe
스위치가 포함되어 웹 서비스에 대한 프록시 유형을 생성합니다. 그러나 웹 서비스가 없는 어셈블리의 경우 SGenUseProxyTypes
을 false
으로 설정하면 프록시 유형 생성이 방지되고 직렬화 어셈블리가 강제로 생성됩니다.
이 수정 사항을 구현하려면 프로젝트 파일 구성에 다음 속성을 추가하세요.
<code class="language-xml"><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup></code>
GenerateSerializationAssemblies
를 "On"으로, SGenUseProxyTypes
을 "false"로 설정하면 Visual Studio에서 필요한 XML 직렬화 어셈블리를 자동으로 생성하여 FileNotFoundException
를 해결하고 원활한 직렬화를 보장합니다.
위 내용은 XML 직렬화 중 'MyAssembly.XmlSerializers'에 대한 FileNotFoundException을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!