我有一个Visual Studio安装项目,其中一些部署的文件是由预构建事件创建的。但是,当我构建项目时,Visual Studio 首先进行预构建验证,然后运行预构建事件。因此,预构建验证失败,错误消息“错误:无法找到文件...”。
有没有人知道这方面的解决方法?
(细节可能无关紧要,但它是一个Python应用程序的Windows Installer。预构建事件调用PyInstaller,它将py文件打包为单个exe文件。这个exe文件和一些DLL和资源文件然后由安装项目打包为Windows Installer。)
答案 0 :(得分:0)
您必须能够使用MSBuild Targets而不是Prebuild Event。我不确定具体细节,但我想以下link可能会解释您的类似情况。
编辑 - 2017年7月(由于重新安置的链接): http://pradeepc.net/using-tfs-teambuild-to-build-setup-projects-in-visual-studio
从该链接复制的样本粘贴在下面 - 您可能需要编辑以满足需要:
<Target Name="AfterDropBuild">
<Exec Command="devenv.exe MySolution.sln /Build &quot;Release|Any CPU&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>