Monogame v3.5 콘텐츠 파이프 라인 도구를 사용하여 게임용 XML 파일을 만드는 데 문제가 있습니다. 데이터 용으로 특별히 두 가지 프로젝트가 있습니다. 하나는 일반 데이터 클래스 용이고 다른 하나는 특정 데이터 클래스 용입니다. 그런 다음 내 게임을 참조합니다.Monogame 내용 파이프 라인에서 XML 파일을 만들 수 없습니다.
'일반'데이터 클래스를 사용하는 모든 XML 파일은 올바르게 빌드되지만 게임 관련 데이터 클래스를 사용하는 XML 파일은 올바르게 작성되지 않습니다. 내 .mgcontent 프로젝트에서 두 프로젝트 dll 모두에 대한 참조를 추가했습니다. 또한 게임 관련 데이터 프로젝트는 일반 데이터 프로젝트를 참조합니다.
가져 오기 'XmlImporter'예기치 않은 오류가 있었다 : 파이프 라인 도구를 사용하여 구축 할 때
나는 다음과 같은 오류를 얻을! Microsoft.Xna.Framework.Content.Pipeline.InvalidContentException : 위의 실패 파일 형식 'SpaceCardGameData.SpaceBackgroundData'
XML 파일을 확인할 수 없습니다 것은 :
<XnaContent>
<Asset Type="SpaceCardGameData.SpaceBackgroundData">
<AsteroidTextureAssets>
<Item>Objects\Asteroids\TinyAsteroid</Item>
<Item>Objects\Asteroids\SmallAsteroid</Item>
<Item>Objects\Asteroids\LargeAsteroid</Item>
<Item>Objects\Asteroids\HugeAsteroid</Item>
</AsteroidTextureAssets>
</Asset>
</XnaContent>
및 .cs 파일은 다음과 같습니다
namespace SpaceCardGameData
{
public class SpaceBackgroundData : BaseData
{
public List<string> AsteroidTextureAssets { get; set; }
}
}
(기본 데이터는 템플릿 용 기본 유형으로 사용하는 '일반'프로젝트의 빈 클래스입니다.)
한 프로젝트의 XML 파일이 작동하는 이유는 누구나 알 수 있습니까? 다른 것을보고 싶으면 업로드 할 것입니다. 감사.
다음 게시 할 때 내 솔루션을 참조하십시오. 'XmlInclude'속성을 확인하십시오. http://stackoverflow.com/questions/32700342/serialize-base-class-implementation-for-all-new-properties – jdweng
답변이 MonoGame 콘텐츠 파이프 라인과 관련이없는 것 같습니다. , 그냥 일반적인 XML deserialization. 또한 데이터 파일에 필요한 마크 업 속성이 있어야한다고 생각하지 않으며 오류를 일으키는 원인이라고 생각하지 않습니다. 파이프 라인은 BaseData가 아닌 'SpaceCardGameData.SpaceBackgroundData'유형의 게임 데이터를 찾을 수 없습니다. 수업. –
MonoGame에 대해 잘 모릅니다.하지만 MonoGame이 표준 네트워크 직렬화를 사용하고 있습니다. – jdweng