App Hub
Sort Discussions: Previous Discussion Next Discussion
Page 1 of 1 (8 posts)

Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

Last post 8/25/2010 8:28 PM by Adam Goss. 7 replies.
  • 8/13/2010 9:37 PM

    Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    I've spent a lot of the evening playing around and tweaking some build definitions to automatically build my XNA projects on Check-In.  All of that seems to working fine, the Build definition runs and it begins to go through the build process.  I had a couple of hiccups along the way but I am now at the stage where the actual game/game library projects build and the content projects build.  At least to a certain extent.  I appear to have hit a brick wall with any actual content.

    What it has come down to is the the building of the XNA content (i.e. converting say an image to .xnb file format) doesn't work and throws a build error.  I must add that this error does not occur at all if I do a build from within Visual Studio with my local copy of the code.  It is only with Team Build.  Here is an excert from the build log, specifically the error causing the problem.

    CoreCompile:
      Building xboxControllerSpriteFont.tga -> C:\Builds\2\Framework\Windows Framework Development Build\Binaries\Content\xboxControllerSpriteFont.xnb
      Rebuilding because asset is new
      Importing xboxControllerSpriteFont.tga with Microsoft.Xna.Framework.Content.Pipeline.TextureImporter
    Content\xboxControllerSpriteFont.tga : error : Building content threw InvalidOperationException: D3DERR_INVALIDCALL [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.CommonHelperFunctions.InitD3D() [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.InitD3D() [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.Import(String filename, ContentImporterContext context) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.ContentImporter`1.Microsoft.Xna.Framework.Content.Pipeline.IContentImporter.Import(String filename, ContentImporterContext context) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.ImportAssetDirectly(BuildItem item, String importerName) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.ImportAsset(BuildItem item) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAssetWorker(BuildItem item) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAsset(BuildItem item) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.RunTheBuild() [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :    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) [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Content\xboxControllerSpriteFont.tga : error :     Inner exception: COMException: Exception from HRESULT: 0x8876086C [C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj]
    Done Building Project "C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Content\Content.contentproj" (default targets) -- FAILED.
    Done Building Project "C:\Builds\2\Framework\Windows Framework Development Build\Sources\WorkingFolder\Framework\Development\Framework\Framework.Interface\Windows.Framework.Interface.csproj" (default targets) -- FAILED.

    Build FAILED.

    I have highlighted in bold the key error(s) from the build action.  I've tried search the web for these specific error messages and anty sort of help about using TFS with XNA.  I am unclear if this is a problem with XNA (3.1) only being compaitable with VS2008 when I'm using TFS2010.

    If anyone has any idea on a possible reason and (hopefully) solution it would be much appreciated.  If anyone knows also if this doesn't occur with TFS2008, I would be most greatful to know.  I have posted this on the TFS forums here.

  • 8/18/2010 4:08 AM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    I'm not sure if it will help or not, but there was some discussion about this scenario on the thread at http://forums.xna.com/forums/p/51686/331925.aspx that you may want to take a look at if you haven't seen it yet.

    Thanks!
  • 8/24/2010 7:14 PM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    thanks for the reply, but that thread has ended at essentially the same point I am at.  I think I've read that last post before and that's how I got to the point I am at.  Thanks for the suggestion anyway.  Maybe someone else will have an answer.
  • 8/24/2010 7:59 PM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    The issue in the other thread is that the content pipeline build process currently requires a D3D device in order to build correctly.  The developer on that thread was trying to build from a service process that didn't have an interactive login session on the PC.  I can't tell for sure from your problem description whether that is the same configuration that you're trying to build with as well, but I am guessing so based on the call stack you posted.  If so, that type of build scenario isn't supported by XNA Game Studio currently.

    Thanks!

  • 8/24/2010 8:03 PM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    Is there a way around this so that it does have an interactive login session.  The TFS server is on my machine.  I'm using it more as a source control / history package and would like to have it build the latest version when i check in so I have no restrictions on any configuration settings.
  • 8/24/2010 8:15 PM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    I'm sorry, but I don't know enough about Team Build to know whether or not that type of configuration is possible.  That type of question would probably be best to ask on the TFS forums.

    Thanks!
  • 8/24/2010 8:20 PM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    Ok, thanks for the help anyway.  I have this problem posted on the TFS forums already, so I'll update with this information.  If I get a solution from there, I'll post it here for future reference.

    Thanks again.
  • 8/25/2010 8:28 PM In reply to

    Re: Using Team Build and Build Definitions for Team Foundation Server with XNA Projects

    Ok after some playing around and I finally found the solution.

     

    All I had to do from this point was set the build service to be an interactive service rather than a windows service and set the account to one that has access to all relevant files and tfs.  For my personal example I just used my account I log onto to windows with as my TFS installation is on that, but I imagine if you had a dedicated server, you would need all of the XNA required files installed on your dedicated build machine and then have an account that has access to those for the build service.

     

    One drawback I see is that because its an interactive process, there is a small console window that has to be open while the service is running, rather  than it running in the background, but this is a minor inconvenience.

     

    Thanks for suggestions and hopefully this will provide answers for anyone else who has this problem.

Page 1 of 1 (8 posts) Previous Discussion Next Discussion