locked
Desktop Build doesn't work on VS.NET 2010 RRS feed

  • Question

  • Hello,

    I migrate a Visual studio 2008 solution and projects to Visual Studio 2010.  The solution compile as expected.  Only the Desktop build doens't work.  I have to said that I use Visual Studio 2010 with Team Foundation 2008.  When I run this command from command line, I got a BuildSucceeded but that's not true.  The build took 00:00:00:10 to execute.  This time don't make sense because we have 70 projects contains in the solution file.  The binaries are not copied in the BinariesRoot.  And the assembly dll are not modified in their project directory.  It seems like the build doens't build at all.

    cd C:\DevNet4_0\TeamBuildTypes\SoalibUnitTest\DesktopBuild
    MSBuild TFSBuild.proj /p:SolutionRoot=C:\DevNet4_0 /p:BinariesRoot=C:\DesktopBuildUnitTest\Binaries /p:TestResultsRoot=C:\DesktopBuildUnitTest\TestResults /t:DesktopRebuild

    Do someone having the same problems ?  Do I have to upgrade the TFSBuild.proj to make it works with VS 2010 ?  Because this config file works well in VS 2008 with the same command line.

    Thanks,

    <?xml version="1.0" encoding="utf-8"?>
    <Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
    
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
    <ProjectExtensions> <ProjectFileVersion>2</ProjectFileVersion> <Description></Description> <BuildMachine>UNKNOWN</BuildMachine> </ProjectExtensions> <PropertyGroup> <TeamProject>SOALIB</TeamProject> <BuildDirectoryPath>$(SolutionRoot)</BuildDirectoryPath> <DropLocation>\\UNKNOWN\drops</DropLocation> <RunTest>true</RunTest> <RunCodeAnalysis>Never</RunCodeAnalysis> <TreatTestFailureAsBuildFailure>false</TreatTestFailureAsBuildFailure> <WorkItemType>Bug</WorkItemType> <WorkItemFieldValues>System.Reason=Build Failure;System.Description=Start the build using Team Build</WorkItemFieldValues> <WorkItemFieldValuesForTests>System.Reason=Test Failure;System.Description=Start the build using Team Build</WorkItemFieldValuesForTests> <WorkItemTitle>Build failure in build:</WorkItemTitle> <DescriptionText>This work item was created by Team Build on a build failure.</DescriptionText> <BuildlogText>The build log file is at:</BuildlogText> <ErrorWarningLogText>The errors/warnings log file is at:</ErrorWarningLogText> <UpdateAssociatedWorkItems>false</UpdateAssociatedWorkItems> <AdditionalVCOverrides></AdditionalVCOverrides> <CustomPropertiesForClean></CustomPropertiesForClean> <CustomPropertiesForBuild></CustomPropertiesForBuild> </PropertyGroup> <ItemGroup Condition=" '$(IsDesktopBuild)'=='true' "> <!-- En desktopBuild, la commande MSBuild doit être déclancher sous le répertoire C:\[...]\[Projet]\TeamBuildTypes\SoalibUnitTest. --> <SolutionToBuild Include="$(BuildProjectFolderPath)/../../../SoaLib.sln"> <Targets></Targets> <Properties></Properties> </SolutionToBuild> </ItemGroup> <ItemGroup> <ConfigurationToBuild Include="UNIT_TEST|Mixed Platforms"> <FlavorToBuild>UNIT_TEST</FlavorToBuild> <PlatformToBuild>Mixed Platforms</PlatformToBuild> </ConfigurationToBuild> </ItemGroup> <ItemGroup> <TestContainer Include="$(OutDir)\%2aTest%2a.dll" /> </ItemGroup> <PropertyGroup Condition=" '$(IsDesktopBuild)'=='true' "> <!-- En desktopBuild, la commande MSBuild doit être déclancher sous le répertoire C:\[...]\[Projet]\TeamBuildTypes\SoalibUnitTest. --> <RunConfigFile>$(BuildProjectFolderPath)/../../../localtestrun.testrunconfig</RunConfigFile> </PropertyGroup> <Target Name="CoreTestConfiguration" DependsOnTargets="$(CoreTestConfigurationDependsOn)" Outputs="@(TestOutputs)"> <Warning Condition=" '$(V8TestToolsTask)'=='true' and '$(TestNames)'!='' " Text="Warning: The TestNames property cannot be used in in combination with the V8 TestToolsTask and will be ignored." /> <Warning Condition=" '$(V8TestToolsTask)'=='true' and '@(LocalTestContainer)' != '' " Text="Warning: The TestContainer item group cannot be used in combination with the V8 TestToolsTask and will be ignored." /> <PropertyGroup> <ContinueOnTestError Condition=" '$(StopOnTestFailure)' != 'true' ">true</ContinueOnTestError> <ContinueOnTestError Condition=" '$(StopOnTestFailure)' == 'true' ">false</ContinueOnTestError> </PropertyGroup> <!-- MetaDataFile tests for desktop builds. --> <TestToolsTask Condition=" '$(IsDesktopBuild)'=='true' and '$(V8TestToolsTask)'!='true' and '%(MetaDataFile.Identity)' != '' " SearchPathRoot="$(OutDir)" PathToResultsFilesRoot="$(TestResultsRoot)" MetaDataFile="%(MetaDataFile.Identity)" RunConfigFile="$(RunConfigFile)" TestLists="%(MetaDataFile.TestList)" TestNames="$(TestNames)" ContinueOnError="$(ContinueOnTestError)" /> <!-- 8.0 MetaDataFile tests for desktop builds. --> <TestToolsTask Condition=" '$(IsDesktopBuild)'=='true' and '$(V8TestToolsTask)'=='true' and '%(MetaDataFile.Identity)' != '' " SearchPathRoot="$(OutDir)" PathToResultsFilesRoot="$(TestResultsRoot)" MetaDataFile="%(MetaDataFile.Identity)" RunConfigFile="$(RunConfigFile)" TestLists="%(MetaDataFile.TestList)" ContinueOnError="$(ContinueOnTestError)" /> <!-- TestContainer tests for desktop builds. --> <TestToolsTask Condition=" '$(IsDesktopBuild)'=='true' and '$(V8TestToolsTask)'!='true' and '@(LocalTestContainer)' != '' " SearchPathRoot="$(OutDir)" PathToResultsFilesRoot="$(TestResultsRoot)" RunConfigFile="$(RunConfigFile)" TestContainers="@(LocalTestContainer)" TestNames="$(TestNames)" ContinueOnError="$(ContinueOnTestError)" /> <!-- Populate TestOutputs with MetaData Files and Test Containers. --> <ItemGroup> <!-- TestContainer tests for non-desktop and desktop builds. --> <TestOutputs Condition=" '@(LocalTestContainer)' != '' " Include="%(LocalTestContainer.Identity)"> <Platform>$(Platform)</Platform> <Configuration>$(Configuration)</Configuration> </TestOutputs> <!-- MetaDataFile tests for non-desktop builds. --> <TestOutputs Condition=" '$(IsDesktopBuild)'!='true' and '%(LocalMetaDataFile.Identity)' != '' " Include="%(LocalMetaDataFile.Identity)"> <Platform>$(Platform)</Platform> <Configuration>$(Configuration)</Configuration> </TestOutputs> <!-- MetaDataFile tests for desktop builds. --> <TestOutputs Condition=" '$(IsDesktopBuild)'=='true' and '%(MetaDataFile.Identity)' != '' " Include="%(MetaDataFile.Identity)"> <Platform>$(Platform)</Platform> <Configuration>$(Configuration)</Configuration> </TestOutputs> </ItemGroup> </Target> <Target Name="AfterCompile" Condition=" '$(IsDesktopBuild)'=='true' "> <!-- Exécuter la création des bases de données de la solution de SoaLib pour les units tests. --> <!--<Exec Command="$(BuildProjectFolderPath)/../../../Src\CreateDatabase\ConfigPourUnitTestsASPNET\CreateDatabase.exe" />--> </Target> </Project >

    bizbiz
    • Moved by Anutthara - MSFT Monday, December 7, 2009 7:54 AM (From:Visual Studio Team System 2010 Beta2)
    Monday, November 23, 2009 1:55 PM

All replies

  • If you are using a TFS 2008 TfsBuild.proj file, it will only work for a desktop build if you have VS 2008 installed on your machine.  Otherwise it will not be able to locate the targets file, tasks assembly, etc. 

    -Aaron


    http://blogs.msdn.com/aaronhallberg
    Wednesday, December 9, 2009 4:35 AM
  • Hello,

    If I use TFS 2010 with VS 2010, how I can make the TfsBuild project works for a desktop build ?  Tell me if I understand you well.  For the desktop build to work, I need VS 2008.  I don't want to install Vs 2008  on every developer machine.  But, I was thinking that the targets file, tasks assembly was the same for VS 2008 as VS 2010.  Can you tell me what I'll have to do when we'll pass to TFS 2010 to make the build project work ?

    Because Desktop build are really a feature we want...  Do Desktop build in 2010 will be replace by Continuous integration at check-in ?

    Thanks,
    Annie
    bizbiz
    Thursday, December 10, 2009 11:41 AM