자동 어셈블리 생성을 활성화하여 FileNotFoundException
에 대한 XmlSerializer
해결
FileNotFoundException
을 사용할 때 XmlSerializer
이 발생하는 경우는 직렬화 어셈블리 누락으로 인해 발생하는 경우가 많습니다. 프레임워크가 이를 자동으로 생성할 수 있지만 특정 구성이 필요합니다.
자동 직렬화 어셈블리 생성 활성화
Visual Studio의 "직렬화 어셈블리 생성" 프로젝트 속성("설정"으로 설정)은 중요한 첫 번째 단계입니다. 하지만 빌드 시 /proxytypes
에서 사용하는 sgen.exe
플래그로 인해 이것만으로는 부족할 수 있습니다.
프록시 유형 생성 비활성화
Microsoft의 MSBuild 속성SGenUseProxyTypes
이 솔루션을 제공합니다. 이를 false
으로 설정하면 프록시 유형 생성이 방지되어 웹 서비스 유형이 아닌 경우에도 직렬화 어셈블리 생성이 가능해집니다.
프로젝트 파일(.csproj) 수동 편집
Visual Studio에는 SGenUseProxyTypes
에 대한 직접적인 인터페이스가 없기 때문에 .csproj
파일을 수동으로 수정해야 합니다. 빌드 구성과 관련된 <PropertyGroup>
내에 다음을 추가하세요.
<code class="language-xml"><sgenuseproxytypes>false</sgenuseproxytypes></code>
수정된 프로젝트 파일의 예 <PropertyGroup>
:
<code class="language-xml"><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup></code>
이런 식으로 /proxytypes
스위치를 비활성화하면 프로젝트가 빌드 중에 필요한 XmlSerializer
어셈블리를 올바르게 생성하여 FileNotFoundException
를 제거하고 원활한 애플리케이션 실행을 보장합니다.
위 내용은 자동 직렬화 어셈블리 생성을 활성화하여 XmlSerializer에 대한 FileNotFoundException을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!