문제

내가 사용하는 XmlSerializer 를 직렬화 특정 유형에 mscorelib.dll

XmlSerializer ser = new XmlSerializer( typeof( [.Net type in System] ) );
return ([.Net type in System]) ser.Deserialize( new StringReader( xmlValue ) );

이 발생 잡았 FileNotFoundException 어셈블리드:

"파일을 불러들일 수 없습니다 또는 어셈블리 'mscorlib.XmlSerializers, 버전 2.0.0.0,Culture=neutral, PublicKeyToken=b77a5c561934e089'나 하나의 그것의 종속성입니다.시스템 지정한 파일을 찾을 수 없습니다."

FusionLog:

=== Pre-bind state information ===
LOG: User = ###
LOG: DisplayName = mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
 (Fully-specified)
LOG: Appbase = file:///C:/localdir
LOG: Initial PrivatePath = NULL
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\localdir\bin\Debug\appname.vshost.exe.Config
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.EXE.

내가 알기로는 없 mscorlib.XmlSerializers.DLL 에,나는 생각한 DLL 이름은 꿀벌 자동 생성됩니다.을 찾기 위해 인터넷 serializer.

당신은 옵션이 생성 myApplication.XmlSerializers.DLL 컴파일할 때 최적화전이 들어,그래서 일정 부분의 프레임워크의 확인한다.

문제는 이 일으키는 원인이 될 지 응용 프로그램-그것은 중에서 몇 초 이점이다.

어떤 아이디어는 어떻게 이를 방지하기 위해 또는 속도가?

도움이 되었습니까?

해결책

나는 지금.그러나:

  1. 시스템 수 있습을 생성하 serializer 의 전체에 대한 mscorlib 될 수 있는 매우 느립니다.
  2. 당신은 아마 방지하여 이를 감싸는 시스템 입력에서 자신의 유형 및어를 추가하는 대신 그 다음 당신을 얻을 것 serializer 에 대한 당신의 자신의 어셈블리입니다.
  3. 할 수 있을 구축하 serializer 에 대한 mscorlib 과 sgen.exe 는 오래된 건물의 방법 serializer dll 이 도착하기 전에 통합되어 VS.

다른 팁

지연이 발생하기 때문에,수없을 찾기 위해 사용자 지정 serializer dll,시스템 구축 해당 코드(하는 것은 매우 시간이 많이 소요)니다.

하는 것을 방지하기 위해 지연하는 시스템을 구축 DLL,고 있는지 확인할 수 있다.EXE-을 시도했다는 이?

그래,내가 달렸으로 이 문제를 해결책을 발견한것은 특정 내역.

이 발생했었기 때문에 직렬화하려고 목록으로는 XML 문서(파일)를 XML 루트는 특성이 있습니다.면 나는 추가에는 다음 파일 오류입니다.

XmlRootAttribute rootAttribute = new XmlRootAttribute();
rootAttribute.ElementName = "SomeRootName";
rootAttribute.IsNullable = true;

도 몰라면 그것을 문제를 해결할 수 있지만,그것은 조정 광산.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top