Я пытался использовать TeamCity 4.5 для автоматизации сборок проекта XNA, но у меня небольшая проблема. Мои проекты правильно компилируются в Visual Studio 2008, но не при компиляции с TeamCity в качестве сборщика. В файле конфигурации используется параметр sln2008, и некоторое время компиляция проходит хорошо, но как только он начинает компилировать текстуры .png в .xnb, я получаю следующую ошибку:
[11:28:41]: [Project "Content.contentproj" (default targets):] Content\head.png Building content threw InvalidOperationException: D3DERR_INVALIDCALL
at Microsoft.Xna.Framework.Content.Pipeline.CommonHelperFunctions.InitD3D()
at Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.InitD3D()
at Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.Import(String filename, ContentImporterContext context)
at Microsoft.Xna.Framework.Content.Pipeline.ContentImporter`1.Microsoft.Xna.Framework.Content.Pipeline.IContentImporter.Import(String filename, ContentImporterContext context)
at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.ImportAssetDirectly(BuildItem item, String importerName)
at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.ImportAsset(BuildItem item)
at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAssetWorker(BuildItem item)
at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAsset(BuildItem item)
at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.RunTheBuild()
at Microsoft.Xna.Framework.Content.Pipeline.Tasks.BuildContent.RemoteProxy.RunTheBuild(BuildCoordinatorSettings settings, TimestampCache timestampCache, ITaskItem[] sourceAssets, String[]& outputContent, String[]& rebuiltContent, String[]& intermediates, Dictionary`2& dependencyTimestamps, KeyValuePair`2[]& warnings)
Inner exception: COMException: Exception from HRESULT: 0x8876086C
У меня нет никаких идей, что вызывает это. Как я уже сказал, он способен правильно компилировать модели .fbx, а также мой проект ContentPipeline и мой проект SharedContent (часть решения).
Что мне на самом деле хотелось бы, так это несколько указателей на то, что могло бы стать источником проблемы (и, если возможно, решения проблемы). Насколько я понимаю, похоже, проблема с библиотекой D3D. Я также напомню, что все это решение компилируется в Visual Studio 2008, поэтому существует небольшая проблема с TeamCity: либо я что-то не предоставил, либо что-то на самом деле неправильно установлено.