سؤال

ولقد كنت تحاول استخدام TeamCity 4.5 من أجل أتمتة يبني لمشروع XNA ولكن لدي مشكلة صغيرة. بتجميع مشاريعي بشكل صحيح تحت البصرية ستوديو 2008، ولكن ليس عندما جمعت مع TeamCity مثل البناء. يستخدم ملف التكوين الإعداد sln2008، وتجميع ما يرام لفترة من الوقت، ولكن بمجرد أن يذهب تجميع بابوا نيو غينيا القوام ل.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. وسوف أذكر لك أيضا أن هذا الحل كله يجمع تحت البصرية ستوديو 2008، وبالتالي هناك مشكلة صغيرة مع TeamCity، إما أنا لم تقدم شيئا، أو هو في الواقع تعيين شيء غير صحيح.

هل كانت مفيدة؟

المحلول

ويكاد يكون من المؤكد، فريق مدينة يشغل انها بناء عملية كنظام المحلية في وضع غير تفاعلي، وليس كمستخدم لديه بالفعل الوصول والقدرة على الاستيلاء على الجهاز الرسومات. وأنا أعلم لقد واجهت مشاكل حتى تحاول القوام عملية دفعة من خلال واجهة سطح المكتب البعيد بسبب دايركت لا يمكن انتزاع الجهاز الرسومات.

والحل قد يكون لمعرفة ما إذا كان فريق مدينة يوفر لك القدرة أن أطلب انها باني تشغيل باعتباره على المستخدم، وليس كنظام محلي بتسجيل الدخول، أو كخدمة، على الرغم من أنني لا أستطيع أن أقول لكم أن هذا في الواقع من الممكن حتى في مدينة فريق.

نصائح أخرى

وأنا لم يكن لديك حل ولكن لقد تم التفكير فيه.

والخطأ هو D3DERR_INVALIDCALL لذلك أنا أفكر الجهاز غير متوفر في ذلك الوقت لسبب ما.

1) هل آلات تشغيل بناء وتركيب دايركت / بطاقة الرسومات؟ أفترض نعم منذ XNA يتطلب بطاقة مع تظليل ولكن TeamCity هو التوزيع بناء لذلك ربما انها تعمل على الجهاز دون ذلك؟

2) ربما TeamCity يسبب أيضا العديد من الأجهزة Direct3D ليتم إنشاؤها على نفس الجهاز / عملية (تخمين كاملة)؟

هل الملفات نموذج التي تجمع بشكل صحيح استخدام القوام أم أنها مجرد الهندسه البيانات؟ لدي شعور باني المحتوى لا تحتاج إلى الوصول إلى DirectX لبناء نماذج ولكن لا للبيانات الملمس. يمكنك بناء أي شيء آخر يتطلب الوصول Direct3D؟ يمكنك بناء مشروع باستخدام TeamCity التي لديها فقط نسيج واحد في انها مجلد المحتوى؟

ولست متأكدا إذا كان ذلك العمل ولكن يمكنك الحصول على المزيد من المعلومات عن طريق تشغيل DirectX في وضع التصحيح وتبحث في الإخراج؟

ويساعد هذا الأمل إلى حد ما.

وXNA و DirectX 9 تتطلب تسجيل دخول التيار في المستخدم من أجل تجميع المجلد المحتوى.

والحل بسيط، وإنشاء جهاز بناء وكيل (آلة المادية الحقيقية) مع ما قبل reqs لXNA (VS2008، XNA لعبة ستوديو 3.0، الخ) وجعلها تسجيل الدخول عند بدء التشغيل، ثم إنشاء برنامج نصي لتشغيل الملقم الوكيل فريق عند تسجيل الدخول (عن طريق وضع اختصار للنص وكيل التشغيل في مجلد بدء التشغيل في قائمة ابدأ).

وبهذه الطريقة سوف تشغيل وكيل كمستخدم محلي ويمكن بناء كالمعتاد.

ولقد فعلت هذا ويمكن تأكيد أنه يعمل.

وعذرا لسحب ما يصل إلى موضوع القديم ولكني فقط تشغيل في نفس المشكلة بالضبط محاولة للحصول على TC لبناء مشروع XNA بلدي على Windows Server وأراد أن مساعدة الآخرين القادمة عبر نفس المشكلة.

ولقد وجدت هذه المادة فقط وبلوق الذي يبدو وكأنه حل واعدة جدا: http://forums.create.msdn.com/forums/p/86699 /532976.aspx

&

http://blogs.msdn.com/ ب / astebner / أرشيف / 2011/07/07 / 10184338.aspx

وهارون تنص أساسا على أن بيتا جديدة من فوز الهاتف SDK 7.1 بيتا 2 على XNA لعبة ستوديو 4.0 التحديث بيتا 2 الذي يسمح لك الآن لبناء المحتوى عبر خط أنابيب المحتوى في الأنواع التالية من تكوينات:

وإذا تم تأمين الشاشة أثناء بناء إذا كنت تقوم بتشغيل بناء على جهاز كمبيوتر مقطوعة الرأس إذا كنت تقوم بتشغيل بناء من حساب مستخدم غير التبادلي

ولكن يبدو أنها سوف تعمل فقط على ويندوز فيستا أو أعلى - ونأمل أن ينبغي أن تشمل خوادم جدا. تحديث: كلا للأسف أنه متعود تثبيت على بلدي ويندوز سيرفر: (

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top