5

我有一个包含许多项目和一个安装项目 (.vdproj) 的解决方案。我希望能够通过命令行仅构建安装项目。

我试着用

devenv /build Debug "C:\\MySolution\MySolution.sln" /project "CSharpWinApp\CSharpWinApp.vdproj" /projectconfig Debug 

但它也构建了我其余的解决方案项目,我想避免它。我连续尝试了几次 - 没有项目发生变化,但它仍然构建了一切。我试图删除 .vdproj 项目依赖项,但没有奏效。我收到消息“此依赖项已由项目系统添加,无法删除”。

有什么建议么?

4

2 回答 2

11

使用以下命令行来构建设置项目。
注意:对安装项目的支持已从 Visual Studio 2012 中删除。

devenv "c:\your solution file.sln"  /Project "c:\your setup project file.vdproj" /Build "Release" 

如果您确实必须使用 msbuild,请创建一个 msbuild 项目文件并使用 Exec 任务调用上面的命令行,如 Hassan 的回答中所示。

于 2013-09-20T13:32:02.933 回答
2

您可以在设置解决方案中隔离您的设置,以确保它不会编译您的应用程序。要构建您的设置项目,您可以使用 TFSBuild 2010 执行此操作,如下所示:

首先,要自动构建 .vdproj 项目,您需要编写自己的 msbuild 文件,因为它们不是 msbuild 格式,因此 TFS Build 不知道如何处理它们。我在网上找到了一些关于如何做到这一点的好例子,但我为 2010 年更新了一些。这里是:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 
  <Target Name="Build"> 
    <PropertyGroup>
      <DevEnv>$(ProgramFiles)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com</DevEnv>
      <SolutionFile>$(MSBuildProjectDirectory)\MySolution.sln</SolutionFile>
      <ProjectFile>$(MSBuildProjectDirectory)\MySetupProject\MySetup.vdproj</ProjectFile>
      <Configuration>Release</Configuration>
    </PropertyGroup>
    <Exec Command="$(DevEnv)  $(SolutionFile) /Rebuild $(Configuration)  /Project  $(ProjectFile)  /ProjectConfig  $(Configuration) /Log" ContinueOnError="false" IgnoreExitCode="false" WorkingDirectory="$(MSBuildProjectDirectory)" /> 
  </Target> 
</Project>

感谢伦纳德伍迪

于 2012-09-02T07:01:22.560 回答