我正在尝试创建一个可以构建VB项目和InstallShield安装项目的MSBuild脚本。
这是一个BuildAll.XML文件,作为MSBuild脚本:
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<MSBuild Projects="D:\WindowsApplication1\WindowsApplication1\WindowsApplication1.vbproj" />
<MSBuild Projects="D:\WindowsApplication1\Setup1\Setup1.isproj" />
</Target>
</Project>
在VS2012的开发人员命令提示符上运行此命令。
msbuild.exe D:\WindowsApplication1\WindowsApplication1\BuildAll.xml /t:Build
WindowApplication1.vbproc的第一个MSBuild完成构建,但是当MSBuild尝试构建Setup1.isproj时,它会失败。
这是警告和错误:
“D:\ WindowsApplication1 \ WindowsApplication1 \ BuildAll.xml”(构建 目标)(1) - &gt; “D:\ WindowsApplication1 \ Setup1 \ Setup1.isproj”(默认值 目标)(3) - &gt; (构建目标) - &gt; C:\ Program Files (x86)\ MSBuild \ InstallShield \ 2013Limited \ InstallShield.target s: 警告:-7235:InstallShield无法创建软件 识别标签,因为常规中的Tag Creator ID设置 信息视图是空的。 [D:\ WindowsApplication1 \ Setup1 \ Setup1.isproj] C:\ Program Files (x86)\ MSBuild \ InstallShield \ 2013Limited \ InstallShield.target s: 警告:-1527:项目中不包含任何文件。 [d:\ WindowsAppl ication1 \设置1 \ Setup1.isproj]
“D:\ WindowsApplication1 \ WindowsApplication1 \ BuildAll.xml”(构建 目标)(1) - &gt; “D:\ WindowsApplication1 \ Setup1 \ Setup1.isproj”(默认值 目标)(3) - &gt; (构建目标) - &gt; C:\ Program Files (x86)\ MSBuild \ InstallShield \ 2013Limited \ InstallShield.target s(108,3): 错误:没有提供项目“WindowsApplication1”的输出,b ut安装项目参考 “WindowsApplication1.ContentFiles”。 [d:\ \ WindowsApplication1 \ Setup1 \ Setup1.isproj] C:\ Program Files (x86)\ MSBuild \ InstallShield \ 2013Limited \ InstallShield.target s(108,3): 错误:没有提供项目“WindowsApplication1”的输出,b 安装项目引用“WindowsApplication1.Built”。 [d:\ WindowsApplication1 \设置1 \ Setup1.isproj]
Setup1项目有两个应用程序文件:
但是当我使用 Build&gt;在Visual Studio 2012上构建解决方案,它工作正常。它生成Setup.exe。
如何使用Visual Studio的Build Solution使BuildAll.xml与构建过程相同?
答案 0 :(得分:1)
从post获得答案。
我应该构建整个解决方案而不是每个项目
这是正确的脚本:
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<MSBuild Projects="D:\WindowsApplication1\WindowsApplication1.sln" />
</Target>
</Project>