我一直在努力,以自動使用的TeamCity 4.5構建一個XNA項目,但我有一個小問題。我的項目在Visual Studio 2008下正確編譯,但不能在使用TeamCity編譯爲構建器時編譯。該配置文件使用sln2008設置,編譯順利了一段時間,但只要它去編譯png格式紋理.xnb,我得到以下錯誤:D3DERR_INVALIDCALL錯誤,TeamCity的建設者
[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有一個小問題,要麼是我沒有提供什麼東西,要麼是實際設置錯誤。
@Jeff:謝謝你的回覆。並更改了服務用於登錄的用戶。問題依然存在,但我相信現在是這樣與服務屬性中的「硬件配置文件」相關。我似乎只有一個「Uockock Profile」(可能還沒有訪問圖形卡,很難說)。此外,這個硬件配置文件看起來並不像它可以從其他地方編輯(我GOOGLE了它,它回來了很多人抱怨) – tomzx 2009-06-26 01:20:01