Событие предварительной сборки проекта установки Visual Studio

У меня есть проект установки Visual Studio, в котором некоторые из развернутых файлов создаются с помощью события перед сборкой. Однако, когда я создаю проект, Visual Studio сначала выполняет предварительную проверку, а затем затем запускает событие предварительной сборки. Таким образом, проверка перед сборкой не выполняется с сообщением об ошибке «ERROR: Unable to find file ...».

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

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


person Johan Råde    schedule 06.09.2011    source источник


Ответы (1)


Вы должны иметь возможность использовать цели 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>
person Arun    schedule 06.09.2011