问题
I was wondering if anybody is using TFS 2010 beta 2 build server to build BizTalk 2009 projects created in VS 2008?
I created new BizTalk project in VS 2008 adding simple schema with promoted property. Then I created new build definition from VS 2008 Team Explorer and queued up new build on our TFS 2010 build server...
I'm getting compilation errors due to the conflicts in .NET Framework versions. Here is a snippet from compilation log:
CoreCompile:
C:\Windows\Microsoft.NET\Framework\v3.5\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:TRACE /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Configuration.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /reference:"C:\Program Files\Microsoft BizTalk Server 2009\Microsoft.XLANGs.RuntimeTypes.dll" /reference:"C:\Program Files\Microsoft BizTalk Server 2009\Microsoft.BizTalk.Interop.Agent.dll" /reference:"C:\Program Files\Microsoft BizTalk Server 2009\Microsoft.BizTalk.Messaging.dll" /reference:"C:\Program Files\Microsoft BizTalk Server 2009\Microsoft.XLANGs.Engine.dll" /reference:"C:\Program Files\Microsoft BizTalk Server 2009\Microsoft.XLANGs.BizTalk.Engine.dll" /reference:"C:\Program Files\Common Files\Microsoft BizTalk\Microsoft.RuleEngine.dll" /reference:"C:\Program Files\Microsoft BizTalk Server 2009\Microsoft.XLANGs.BizTalk.ProcessInterface.dll" /reference:C:\Windows\Microsoft.NET\Framework\v4.0.21006\System.dll /reference:C:\Windows\Microsoft.NET\Framework\v4.0.21006\System.Xml.dll /reference:C:\Windows\Microsoft.NET\Framework\v4.0.21006\System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework\v4.0.21006\System.Web.Services.dll /reference:"C:\Program Files\Common Files\Microsoft BizTalk\Microsoft.BizTalk.TOM.dll" /debug:pdbonly /keyfile:somekey.snk /optimize+ /out:obj\Release\TestSchemas.dll /target:library /warnaserror- Properties\AssemblyInfo.cs "C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestSchemas\SomeSchema.xsd.cs" "C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestSchemas\PropertySchema.xsd.cs"
CSC : warning CS1685: The predefined type 'System.Runtime.InteropServices.DefaultParameterValueAttribute' is defined in multiple assemblies in the global alias; using definition from 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll' [C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestSchemas\TestSchemas.btproj]
PropertySchema.xsd.cs(64,35): error CS0433: The type 'System.Xml.XmlQualifiedName' exists in both 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll' and 'c:\Windows\Microsoft.NET\Framework\v4.0.21006\System.XML.dll' [C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestSchemas\TestSchemas.btproj]
PropertySchema.xsd.cs(72,36): error CS0433: The type 'System.Xml.XmlQualifiedName' exists in both 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll' and 'c:\Windows\Microsoft.NET\Framework\v4.0.21006\System.XML.dll' [C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestSchemas\TestSchemas.btproj]
Done Building Project "C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestSchemas\TestSchemas.btproj" (default targets) -- FAILED.
Done Building Project "C:\Builds\2\Test Project\Test Build\Sources\TestBizTalkApp\TestBizTalkApp.sln" (default targets) -- FAILED.
Done Building Project "C:\Builds\2\Test Project\Test Build\BuildType\TFSBuild.proj" (CompileSolution target(s)) -- FAILED.
Done Building Project "C:\Builds\2\Test Project\Test Build\BuildType\TFSBuild.proj" (CompileConfiguration target(s)) -- FAILED.
Done Building Project "C:\Builds\2\Test Project\Test Build\BuildType\TFSBuild.proj" (CoreCompile target(s)) -- FAILED.
As you can see, there are references to the same assemblies for two different framework versions (2.0 and 4.0) which is causing conflicts.
Our setup is: Win2008 box with BizTalk 2009, VS 2008 SP1 and we installed TFS 2010 beta 2 build service on the same box and configured to run only as an build agent. Then we've got another Win2008 box with TFS 2010 beta 2 which is configured as a source control and build server with only a build controller set-up.
Any help on how to get rid of the references to framework 4.0 from build would be much appreciated. Thanks!
回答1:
We installed final version of TFS 2010 but had the same issue with conflicting assemblies. It turns out there is a bug in BizTalk build task. Details and workaround can be found here.
回答2:
I submitted a bug report to Microsoft and here is reply:
We had a previous report around building BizTalk projects with TFS 2010 and I'm happy to say that it's been resolved for the release candidate. Thanks for reporting the issue.
I guess the only option now is to wait for RC and hope they really fixed that issue.
来源:https://stackoverflow.com/questions/2161184/biztalk-2009-projects-not-playing-well-with-tfs-2010-beta-2-automated-build