我有一个包含许多项目和安装项目(.vdproj)的解决方案。 我希望能够通过命令行构建安装项目。
我尝试使用
devenv /build Debug "C:\\MySolution\MySolution.sln" /project "CSharpWinApp\CSharpWinApp.vdproj" /projectconfig Debug
但它也构建了我的其余解决方案项目,我想避免它。我连续几次尝试过 - 没有任何项目发生变化,但它仍然构建了所有项目。我试图删除.vdproj项目依赖项,但它没有工作。我收到消息“此依赖项已由项目系统添加,无法删除”。
有什么建议吗?
答案 0 :(得分:10)
使用以下命令行构建安装项目 注意:已从Visual Studio 2012中删除对安装项目的支持。
devenv "c:\your solution file.sln" /Project "c:\your setup project file.vdproj" /Build "Release"
如果您确实 使用msbuild,请创建一个msbuild项目文件并使用Exec任务调用上面的命令行,如Hassan的回答所示。
答案 1 :(得分: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>
感谢Leonard Woody