代码之家  ›  专栏  ›  技术社区  ›  Jürgen Steinblock

需要帮助将Visual Studio 2008 MSBuild脚本转换为VS2010

  •  0
  • Jürgen Steinblock  · 技术社区  · 14 年前

    我有一个类似这样的简单msbuild脚本。

      ...
      <Target Name="CompileSolution">
        <Exec Command="&quot;$(VS90COMNTOOLS)..\IDE\devenv.exe&quot; ..\MyProject.All.sln /build" />
      </Target>
      ...
    

    现在我将属性迁移到了Visual Studio 2010,命令失败。

      ...
      <Target Name="CompileSolution">
        <Exec Command="&quot;$(VS100COMNTOOLS)..\IDE\devenv.exe&quot; ..\MyProject.All.sln /build" />
      </Target>
      ...
    

    因为变量 $(VS100COMNTOOLS) 是空的。我用

    <Exec Command="echo $(VS100COMNTOOLS)" />
    

    我检查了环境变量“vs100comntools”是否存在。如果我修改命令以使用 devenv.exe 而不是变量,一切都很好。但这只是一个临时的解决方案,因为我的同事的devenv路径不同。

    查询 VS100COMNTOOLS Visual Studio 2010 MSBuild脚本中的路径?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Iain    14 年前

    我不知道这是否有用,但您可以使用msbuild本身,而不是使用可视化studion来构建,这里有任何示例:

     <PropertyGroup>
        <Configuration>Release</Configuration>
      </PropertyGroup>
    
    <Target Name="CoreBuild">
      <Message text="Core Build"/>
      <MSBuild Projects ="@(ProjectsToBuild)" 
               ContinueOnError ="false" 
               Properties="Configuration=$(Configuration)" >
          <Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
      </MSBuild>
    </Target>
    
      <ItemGroup>
        <ProjectsToBuild Include="**\*sln" Exclude="$(MSBuildProjectFile)"/>
      </ItemGroup>