Я пытался реализовать что-то похожее на образец внешних ссылок в блоге Шона Харгривза.
У меня проблема в том, что когда VS пытается скомпилировать файл xml, он выдает ошибку, например
Ошибка 1 Создание содержимого вызвало исключение ArgumentException: внешняя ссылка "C:\Work\Company\Project\trunk\Project.Content\Sprites\Effects\EffectsSprite.tga" не является скомпилированным файлом .xnb. в Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler.ContentWriter.WriteExternalReference[T](ExternalReference
1 reference) at Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler.ExternalReferenceWriter
1.Write(вывод ContentWriter, ExternalReference1 value) at Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler.ContentTypeWriter
1.Write(вывод ContentWriter, значение объекта) в Microsoft.Xna.Framework.Content.Pipeline. Serialization.Compiler.ContentWriter.InvokeWriter[T](значение T, средство записи ContentTypeWriter) в Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler.ContentWriter.WriteObject[T](значение T) в Microsoft.Xna.Framework.Content .Pipeline.Serialization.Compiler.ContentWriter.WriteSharedResources() в Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler.ContentWriter.FlushOutput() в Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler.ContentCompiler.Compile (Вывод потока, значение объекта, TargetPlatform targetPlatform, GraphicsProfile targetProfile, логическое значение compressContent, String rootDirectory, String referenceRelocationPath) в Microsoft.Xna.Framework.Content.Pipeline.BuildCoo rdinator.SerializeOutputAsset (элемент BuildItem, Object assetsData, String outputFilename) в Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.SerializeAsset (элемент BuildItem, Object assetsData) в Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAssetWorker(BuildItem item) в Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAsset(элемент BuildItem) в Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.RunTheBuild() в Microsoft.Xna.Framework.Content.Pipeline.Tasks.BuildContent .RemoteProxy.RunTheBuild (настройки BuildCoordinatorSettings, TimestampCache timestampCache, ITaskItem[] sourceAssets, String[]& outputContent, String[]& rebuiltContent, String[]& middles, Dictionary2& dependencyTimestamps, KeyValuePair
2[]& warnings) C:\Work\Company\Project\trunk Проект \Project.Content\Sprites\Effects\AtlasAuto.xml
Что мне делать с файлом, на который ссылается файл Xml? Учитывая, что он находится в той же папке, что и файл xml, я попытался:
- включить в проект контента и обработать его с помощью Texture — XNA Framework,
- исключить его из проекта и
- не создавайте файл, а просто копируйте его как содержимое...
Кажется, ничего не работает. Интересно, работает ли этот пример в XNA4 или он был для XNA3, и они изменили способ его работы на XNA4...
любая идея?