MSBuild-проект VB с помощью InstallShield
Я пытаюсь создать скрипт MSBuild, который мог бы создать проект VB и проект установки InstallShield.
Вот файл 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
Первый MSBuild для WindowApplication1.vbproc завершает сборку, но когда MSBuild попытается скомпилировать Setup1.isproj, произойдет сбой.
Вот предупреждение и ошибка:
"D: \ WindowsApplication1 \ WindowsApplication1 \ BuildAll.xml" (цель сборки) ( 1) -> "D:\WindowsApplication1\Setup1\Setup1.isproj" (цель по умолчанию) (3) -> (цель сборки) -> C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s: предупреждение: -7235: программе InstallShield не удалось создать тег идентификации программного обеспечения, поскольку параметр ID создателя тега в представлении "Общая информация" пуст. [D:\WindowsApplication1\Setup1\Setup1.isproj] C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s: предупреждение: -1527: в проект не включены файлы. [D: \ WindowsAppl ication1 \ Setup1 \ Setup1.isproj]
"D: \ WindowsApplication1 \ WindowsApplication1 \ BuildAll.xml" (цель сборки) ( 1) -> "D:\WindowsApplication1\Setup1\Setup1.isproj" (цель по умолчанию) (3) -> (цель сборки) -> C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s(108,3): ошибка: не предоставлены выходные данные для проекта "WindowsApplication1", кроме ссылок на проект установки "WindowsApplication1.ContentFiles". [D:\ \WindowsApplication1\Setup1\Setup1.isproj] C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s(108,3): ошибка: не предоставлены выходные данные для проекта "WindowsApplication1", После установки проект ссылается на "WindowsApplication1.Built". [D:\WindowsApplication1\Setup1\Setup1.isproj]
Проект Setup1 имеет два файла приложения:
- WindowsApplication1.ContentFiles
- WindowsApplication1.PrimaryOutput
Но когда я использую Build > Build Solution в Visual Studio 2012, он работает нормально. Это производит Setup.exe.
Как сделать так, чтобы мой BuildAll.xml создавал тот же процесс сборки, что и решение для сборки Visual Studio?
1 ответ
Получил мой ответ из этого поста.
Я должен был построить все решение, а не на проект
Вот правильный сценарий:
<?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>