2012-01-13 4 views
0

이것은 며칠 동안 작업 해 왔던 문제입니다. 나는 2 개의 클래스가있는 게임 라이브러리를 만들었습니다. 하나는 이름과 타입을 바꾸고 싶은 변수가 들어 있고, 다른 하나는 XML 파일에 쓰는 데 사용됩니다 (순차 화). 이 내 직렬화 클래스입니다 :XML 파일의 데이터를 XNA 4.0으로로드

namespace Postavke 
{ 
    public class TempMain 
    { 
     public static void Main() 
     { 
      object TestValue = new PostavkeStanice(); 
      XmlWriterSettings XMLPostavke = new XmlWriterSettings(); 
      XMLPostavke.Indent = true; 

      using (XmlWriter pisac = XmlWriter.Create("Postavke.xml", XMLPostavke)) 
      { 
       IntermediateSerializer.Serialize(pisac, TestValue, null); 
      } 
     } 
    } 
} 

XML 파일은 매우, 매우 간단합니다, 그래서 내가 ("PostavkeStanica")를 직렬화 하나의 bool 변수를 가지고 싶어하는 클래스입니다. XML에서 내 XNA 4.0 프로그램으로 데이터를로드 할 때 문제가 나타납니다. 나는 ContentManager 사용하지만, 내가 그 값이 설정해야 변수를 사용하려고하면, 나는 선언 영역에서의 오류

"There was an error while deserializing intermediate XML. Cannot find type Postavke.PostavkeStanice"." 

를 얻을 :

ContentManager upraviteljSadrzaja; 
PostavkeStanice radnaStanica1; 

LoadContent 메서드에서 :

radnaStanica1 = upraviteljSadrzaja.Load<PostavkeStanice>(@"Teksture/Postavke"); 

은 "PostavkeStanica"클래스는 내가 특정 객체가 활성화 또는 DIS되어 있는지 확인하는 데 사용할 "Stanje"라는 단 하나의 bool 변수를 가지고 예를 들어, 저소득자 : 이동 객체 radnaStancia1 객체의 앞에 (그 위치를 변경하지 않는다)과 contition가 참일 때 움직임을 멈출 경우 코드

if (position == stanica1 && radnaStanica1.Stanje) 
      { 

       kontrola = false; 
      } 

이 조각을 결정한다. XML 파일을 사용하여이 변수의 값을 설정하려고합니다. 전체 솔루션을 다시 작성하지 않고 해당 변수의 값을 변경할 수 있기를 원하기 때문입니다.

감사합니다.

답변

0

디시리얼라이저가 형식을 찾을 수없는 경우, 게임 라이브러리가 참조되지 않았거나 컴파일러가 해당 content.load 문을 이해하려고 시도하는 동안 게임 라이브러리 찾으려는 유형을 보유하고있는 사용자가 아직 구축되지 않았습니다.

메인 게임 프로젝트의 종속성을 라이브러리에 의존하도록 설정하고 참조해야합니다. 게임 라이브러리가 종속물로 설정되면, 컴파일러는 먼저 그것을 빌드하는 것을 압니다.

+0

예, 그래도 나에게도 동일한 오류가 발생합니다. 이것은 나를 혼란스럽게하는 부분입니다. 논리적으로, 필자는 "PostavkeStanice"클래스에 해당하는 XML 파일을 만들기 위해 직렬화가 한 번만 필요합니다. 콘솔 응용 프로그램에 대한 게임 라이브러리의 출력 유형을 선택하고 디버그 -> 새 인스턴스 시작으로 XML 파일을 만들었습니다. 이제 XML 파일이 필요합니다. Content 폴더에 붙여 넣어야합니까? – NDraskovic

+0

아니요, 경로가 유효한 경우 콘텐츠 관리자가 경로를 찾을 수 있습니다. 나는 해결책이 무엇인지 모르겠다. xml에 "XnaContent"태그가 있습니까? 및 'Type = PostavkeStanice'특성이있는 "자산"태그가 있습니까? –

+0

' <자산 타입 = "Postavke.PostavkeStanice"> 거짓 거짓 거짓 거짓 ' 이 작성되는 전체 XML 파일입니다. "radnaStanica_stanje"는 "workstation_State"를 의미하고 "kraj"는 "end"및 "Postavke"를 의미합니다.PostavkeStanice "는"Settings.WorkstationSettings "를 의미합니다. – NDraskovic

관련 문제