Visual-studio – Visual Studio 2008 SP1 and upgrading a BizTalk 2006 R2 project to BizTalk 2009 Project – Failing

biztalkvisual studio

Greetings all,

I have posted this on the MSDN managed news groups as well as a BizTalk site, but I am not sure they get enough traffic that as I don't seem to be getting a response.

Help me StackOverflow, your my only hope.

I am in the process of upgrading our Visual Studio BizTalk projects from BizTalk 2006 R2 to BizTalk 2009.

I start VS 2008 SP1, load up the VS 2005 solution with all our VS 2005 artifacts in it, and the Visual Studio Conversion Wizard starts. All good to here.

The wizard properly reports that the projects which will be updated. These look good. I press Finish and the conversion tool goes and does its conversion thing. The wizard reports that all projects have been converted successfully, However when I view the conversion log, it says that none of the BizTalk projects were converted. If I expand the node on of the non-converted projects, there is no error information as to why it didn't convert.

The two biztalk projects in the solution (the others are c# projects) are both greyed out and VS.Net 2008 says they are unavailable.

If I then right click on the project and select "Reload" the conversion wizard comes up again, this time it asks to create a backup before converting. I select yes to the default location and hit Next. It tells me it's ready to convert, when I hit Finish I get the nice little dialog window:

The operation could not be completed. Unspecified error.

If I look at the conversion log this time, I see the error: Conversion Issues – your.project\your.project.btproj: Error converting project file. Child element <BIZTALK> of element <VisualStudioProject> is not valid.

There are a couple of posts on the net about this issue but no concrete resolutions:

http://dennismulder.net/cs/blogs/dennism/archive/2009/04/25/trouble-migrating-from-biztalk-2006-r2-to-2009.aspx#comments

http://msdn.microsoft.com/en-us/library/dd257156.aspx

The msdn article mentions the project needing a solution file, so I can't see how that applies as the project is already part of an existing VS 2005 solution.

Does anyone have some ideas/thoughts on this? If I have to, I can resort to just creating new BizTalk projects and re-adding the BizTalk artifacts to them, but we have a number of solutions which will need to be converted and if there is a simple fix to get the conversion wizard to work, I would rather go down that route.

Thanks in advance all.

cmb..

** Update – 20090806 **

After some cutting and pasting of .btproj files I have determined the upgrade wizard does not like the fact that I renamed my project build name from Development to Debug

Best Answer

Greetings,

Ok, I openned an incident with Microsoft about this.

Basically the issue in my case came down to the fact that I renamed the build configurations from Development and Deployment to Debug and Release (to match what every other Visual Studio project calls their build configurations). Apparently, the upgrade wizard for BizTalk, doesn't like this very much.

Anyways, Below is the summary email I received from the support engineer at Microsoft about what the problem is and how to fix it. It comes down to hand tinkering with the .sln and .btproj files. Alas..

The default configuration names (Development and Deployment) for BizTalk project should not be modified. Up to BizTalk 2006 R2 it was not a “true” integration of BizTalk project systems with the visual studio in many ways. For that matter, from supportability point of view, changing the default configurations is not recommended. However, you can add your own configurations without altering the default configurations. Also it is not supported modifying the BizTalk Project template files for Visual Studio.

In your case, you have re-named the default configuration names to some other values. Because of this change entries for those configuration were not appearing in the metadata under various VS files. I tried playing around with those setting and eventually with following steps got the project upgrade working for the sample project that you provided.

  1. For solution file under GlobalSection(SolutionConfigurationPlatforms) = preSolution section I did not see entry for default Development configuration. Added following entry there Development|.NET = Development|.NET (here we need default entries for deployment and development)
  2. For solution file under GlobalSection(ProjectConfigurationPlatforms) = postSolution I did not see entry for default Development configuration. Added following entries there
    {3B54116C-9D09-4DAF-9AFD-62EDA64AC12A}.Development|.NET.ActiveCfg = Development|.NET {3B54116C-9D09-4DAF-9AFD-62EDA64AC12A}.Development|.NET.Build.0 = Development|.NET (here we need default entries for deployment and development)
  3. For project file under section did not see section for default Development configuration Added following entry there (here we need default entries for deployment and development)
  4. Delete user options file (as it is not needed for the upgrade process – VS will create the one when you open the project)
  5. Opened the project on BizTalk 2009 VS 2008 box. Upgrade process is successful.

The GUIDs are specific to BizTalk project files. If there are multiple BizTalk project as a part of the solution, you have to add the entries for default configuration for each and every project in the solution.