2013-04-10 99 views
0

我正在尝试编写一个Msbuild脚本,它将检索一个解决方案保存在本地路径中,然后构建解决方案。MsBuild Subversion错误元素<Project>无法识别

从命令行执行时,出现错误 - MSB4060该元素无法识别,或者在此上下文中不受支持。任何指针将不胜感激。

<project name="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003>"> 

    <PropertyGroup> 
    <RepositoryPath>http://Path<RepositoryPath> 
    <svnUsername>USERNAME</svnUsername> 
    <svnPassword>PASSWORD</svnPassword> 
    <LocalPath>LOCAL_PATH_TO_COMPILE_SOLUTION</LocalPath> 
    <solutionFileName>SOLUTION_FILENAME</solutionFileName> 
    </PropertyGroup> 

    <!--<ItemGroup> 
    </ItemGroup>--> 

    <Import Project="C:\Program Files\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/> 

    <Target Name="GetSource"> 
    <Message Text="Checking out trunk into $(LocalPath)" /> 
    <SvnCheckout RepositoryPath="$(RepositoryPath)" 
     LocalPath="$(LocalPath)" 
     UserName="$(svnUsername)" 
     Password="$(svnPassword)"> 
     <Output TaskParameter="Revision" PropertyName="Revision" /> 
    </SvnCheckout> 
    <Message Text="Have got revision: $(Revision)"/> 
    </Target> 

    <Target Name="Build" DependsOnTargets="GetSource;Clean;" /> 

    <Target Name="Clean"> 
    <MSBuild Projects="$(LocalPath)$(solutionFileName)" Targets="Clean;Rebuild" /> 
    </Target> 

</project> 

回答

1
    您的样品中
  • 使用大写Project根元素代替小写project
  • 使用正确的命名空间xmlns="http://schemas.microsoft.com/developer/msbuild/2003"(即闭引号之前除去>)为RepositoryPath
  • 修复结束标记

    ie - 只生成有效的MSBUILD XML项目

  • +0

    哎呀,也可能使用了解XML的编辑器? – 2013-04-11 11:16:00