|
#1
|
|||
|
|||
Error while building VS2005 solution with VisBuild
Hi
When building a VS2005 solution(ExchangeDataService.sln) with VisualBuild->I receive some compilation errors like below. When building it into VS2005 ->everything is ok. I guess the order of building the projects is different in VisBuild than in VS 2005->this would cause the errors like : CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\Debug\MyComp.Gateway.Iface.d ll' could not be found As normally the MyComp.Gateway.Iface should be built before MyComp.Gateway.Common. Why VisBuild would compile the projects in wrong order (not like in VS2005)? How can I build this solution succesfully in VBuild? //*********************************** Rebuilding configuration 'Debug|Any CPU'... Microsoft (R) Build Engine Version 2.0.50727.42 [Microsoft .NET Framework, Version 2.0.50727.42] Copyright (C) Microsoft Corporation 2005. All rights reserved. __________________________________________________ Project "E:\NGBuilds\ffng\ExchangeGateway\ExchangeDataServ ice.sln" (rebuild target(s)): __________________________________________________ Project "E:\NGBuilds\ffng\ExchangeGateway\ExchangeDataServ ice.sln" is building "E:\NGBuilds\ffng\ExchangeGateway\MyComp.Gateway.C ommon\MyComp.Gateway.Common.csproj" (Rebuild target(s)): C:\WINXP\Microsoft.NET\Framework\v2.0.50727\Csc.ex e /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Common Lib.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Gatewa y.Iface.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Gatewa y.Iface.Helpers.dll /reference:E:\NGBuilds\ffng\bin\debug\MyComp.Manage ment.dll /reference:E:\NGBuilds\ffng\bin\debug\MyComp.Manage ment.Iface.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.MBC.If ace.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Messag ing.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.NG.Ser ializationLib.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Perfor mance.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.SDS.He lpers.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Transl atorGen.dll /reference:..\..\3rdPartyLibs\log4net\log4net.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.Data.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.Messaging.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.Xml.dll /debug+ /debug:full /optimize- /out:obj\Debug\MyComp.Gateway.Common.dll /target:library Common\AsyncCallDispatcheThread.cs Common\CollectionWrapper.cs Common\DataStorage.cs Common\GatewayPerformanceCounters.cs Common\ISubsystemManagement.cs Common\OGPerformance.cs Properties\AssemblyInfo.cs ServiceMonitor.cs Triggers\MarketTriggersStorage.cs Triggers\PriceTriggerStorage.cs CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\Debug\MyComp.Gateway.Iface.d ll' could not be found CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\Debug\MyComp.Gateway.Iface.H elpers.dll' could not be found CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\debug\MyComp.Management.dll' could not be found CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\debug\MyComp.Management.Ifac e.dll' could not be found CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\Debug\MyComp.Performance.dll ' could not be found CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\Debug\MyComp.SDS.Helpers.dll ' could not be found Done building project "MyComp.Gateway.Common.csproj" -- FAILED. __________________________________________________ Project "E:\NGBuilds\ffng\ExchangeGateway\ExchangeDataServ ice.sln" is building "E:\NGBuilds\ffng\ExchangeGateway\MyComp.Gateway.D iagnostics\MyComp.Gateway.Diagnostics.csproj" (Rebuild target(s)): C:\WINXP\Microsoft.NET\Framework\v2.0.50727\Csc.ex e /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Gatewa y.Iface.dll /reference:E:\NGBuilds\ffng\bin\debug\MyComp.Manage ment.Iface.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.MBC.If ace.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Messag ing.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.NG.Ser ializationLib.dll /reference:E:\NGBuilds\ffng\bin\Debug\MyComp.Transl atorGen.dll /reference:..\..\3rdPartyLibs\log4net\log4net.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.Data.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.dll /reference:C:\WINXP\Microsoft.NET\Framework\v2.0.50 727\System.Xml.dll /debug+ /debug:full /optimize- /out:obj\Debug\MyComp.Gateway.Diagnostics.dll /target:library CompareResult.cs DiagnosticDataCollector.cs DiagnosticCheckConsistencyResult.cs DiagnosticLogger.cs DiagnosticReciever.cs DiagnosticSender.cs GroupedItems.cs MarketServerSnapshot.cs Properties\AssemblyInfo.cs DiagnosticCompareResult.cs CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\Debug\MyComp.Gateway.Iface.d ll' could not be found CSC : error CS0006: Metadata file 'E:\NGBuilds\ffng\bin\debug\MyComp.Management.Ifac e.dll' could not be found Done building project "MyComp.Gateway.Diagnostics.csproj" -- FAILED. Process completed with exit code 1 11/14/2006 3:32:21 PM: Step 'Exchange Gateway' failed |
#2
|
|||
|
|||
It sounds like an issue with Visual Studio when building from the command line (what the Make VS.NET action ultimately invokes to actually build a solution or project). You can verify this by checking the Display command-line...' checkbox on the Options tab, rebuilding the step, then copying and pasting the msbuild/devenv command-line from the build output to a Command Prompt and running it from there. If it occurs outside of VBP, you'll need to open a support incident with MS. Otherwise, please ZIP and send or post:
1) The info from Help | About | Install Info 2) The .bld file used to build 3) A build log file 4) A .sln file and project files Thanks. |
#3
|
|||
|
|||
I followed your advice.VBP launched MSBuild.exe this way:
C:\WINXP\Microsoft.NET\Framework\v2.0.50727\msbuil d.exe E:\NGBuilds\ffng\ExchangeGateway\ExchangeDataServi ce.sln /t:rebuild /p:Configuration=Debug "/p:Platform=Any CPU" /v:minimal I tried to run this command from command line -outside VBP-the result was the same. But if I would run the same command without "/p:Platform=Any CPU",just like this : C:\WINXP\Microsoft.NET\Framework\v2.0.50727\msbuil d.exe E:\NGBuilds\ffng\ExchangeGateway\ExchangeDataServi ce.sln /t:rebuild /p:Configuration=Debug /v:minimal then everything works ok. So it seems this parameter causes the compilation error. I would like to know: 1)how can I make VBP to launch MSBuild.exe without that parameter("/p:Platform=Any CPU")-for a specific configuration? When I click on Configuration(s) I can choose only something like this Debug|Any CPU or Debug|Mixed Platforms or Debug|Win32 so every option would include the platform as well-and therefore giving these compilation errors.I tried to write as configuration only Debug but the compilation failed as configuration not found. 2)how can I make VBP to launch MSBuild.exe without that parameter("/p:Platform=Any CPU")-for all the configurations? I mean when option box All is checked and not Configuration(s) one. Also I noticed if I select the configuration for building-Debug|Mixed Platforms it works ok,only when selected Debug|Any CPU or Debug|Win32 ->the compilation errors appear. VBP launch in this case this command: C:\WINXP\Microsoft.NET\Framework\v2.0.50727\msbuil d.exe E:\NGBuilds\ffng\ExchangeGateway\ExchangeDataServi ce.sln /t:rebuild /p:Configuration=Debug "/p:Platform=Mixed Platforms" /v:minimal |
#4
|
|||
|
|||
Mixed Platforms configs are probably the ones you should be using (typically with multiple platforms in a solution, Mixed Platforms configs build the appropriate project config for each project). Please ZIP and post or send:
1) The info from Help | About | Install Info 2) The .bld file used to build 3) A build log file 4) A .sln file and project files (no source code files) To build all Mixed Platforms solution configurations, enter a config of .*Mixed Platforms (rather than choosing All). Other options would be to use devenv rather than msbuild (enter or select 'devenv' in the Override field on the options tab) to build or use the MSBuild action rather than Make VS.NET. |
#5
|
|||
|
|||
Finally I decided to build the solutions under "Mixed Platforms" platform,so this way everything is ok (I am using MSBuild from VisBuild step).
After some tests I have seen I cannot build my projects using MSBuild.exe (I tested even from command line ,outside VBuild) under a platform different than "Mixed platforms"(Any CPU or Win32). It seems to be a bug in MSBuild.exe. When I called MSBuild.exe without platform parameter-still the "Mixed platforms" platform was used (as default) and this is why the building was succesfull. I even tried to use devenv instead of MSBuild (in VisBuild step) but still the same -only Mixed platforms can be build. Thanks for your help. I guess you do not need to send those files anymore... |
|
|