Событие предварительной сборки проекта установки Visual Studio - PullRequest
2 голосов
/ 06 сентября 2011

У меня есть проект установки Visual Studio, в котором некоторые из развернутых файлов создаются событием перед сборкой.Однако при сборке проекта Visual Studio сначала выполняет проверку перед сборкой, а , а затем запускает событие предварительной сборки.Таким образом, проверка перед сборкой завершается неудачно с сообщением об ошибке «ОШИБКА: невозможно найти файл ...».

Кто-нибудь знает обходной путь для этого?

(Подробности могутимеет значение, но это установщик Windows для приложения Python. Событие перед сборкой вызывает PyInstaller, который упаковывает файлы py в один exe-файл. Этот exe-файл, а также некоторые DLL-файлы и файлы ресурсов упаковываются проектом установки в WindowsInstaller.)

1 Ответ

0 голосов
/ 06 сентября 2011

Вы должны иметь возможность использовать цели MSBuild вместо события предварительной сборки.Я не уверен в деталях, но я думаю, что следующая ссылка может объяснить вашу похожую ситуацию.

Отредактировано - июль 2017 г. (из-за перемещения ссылки): http://pradeepc.net/using-tfs-teambuild-to-build-setup-projects-in-visual-studio

Образец, скопированный по этой ссылке, вставлен ниже - вы можете отредактировать его по необходимости:

<Target Name="AfterDropBuild">
   <Exec Command="devenv.exe MySolution.sln /Build &amp;quot;Release|Any CPU&amp;quot;" WorkingDirectory="$(SolutionRoot)" />
   <ItemGroup>
      <SetupFiles Include="$(SolutionRoot)/MySetup/Release/MySetup.msi" />
      <SetupFiles Include="$(SolutionRoot)/MySetup/Release/Setup.exe" />
   </ItemGroup>
   <Copy SourceFiles="@(SetupFiles)" DestinationFolder="\Build-MachineBuild_Drop_FoldersMyProjectMSI$(BuildNumber)" />
   <Copy SourceFiles="@(SetupFiles)" DestinationFolder="\Build-MachineBuild_Drop_FoldersMyProjectMSILatest_MSI" />
</Target>
...