我有一个WiX(Windows安装程序XML)v3项目,其中包含对我解决方案中其他项目的引用。我正在使用WiX项目的BeforeBuild事件中的复制任务来收集一些参考项目的输出,供以后使用我的Heat。Visual Studio和MSBuild fire BeforeBuild在一个WiX项目上有所不同
当我在Visual Studio中构建WiX项目(不是解决方案)时,每个引用的项目都是在我的WiX项目之前构建的,一旦构建完成,我的WiX项目上的BeforeBuild事件触发,然后是WiX项目本身建成。这是我期望的行为 - 我可以从WiX BeforeBuild中的引用项目的bin目录中访问文件,并在WiX项目执行Candle之前按照我的要求使用它们。
我遇到的问题是当我通过MSBuild构建WiX文件时我发现BeforeBuild事件在任何引用的项目之前立即引发。这种行为差异意味着我无法在从命令行构建时使用引用项目的输出。
为什么BeforeBuild在命令行通过MSBuild在Visual Studio中运行时在不同的时间点执行?
感谢Franci.Sounds像BeforeBuild不是我所需要的。是否有一个事件可以在我的WIX项目中重写,在ResolveReferences目标构建了所有引用的项目之后会触发? – 2010-09-05 09:03:36
@DavEvans,请通过BeforeTargets或AfterTargets属性查看AfterResolveReferences目标。或者,具有BeforeTargets属性的编译目标: <目标名称=“MyOtherCustomTarget”BeforeTargets =“编译”><消息文本=“做的东西BeforeTargets:编译在这里。”重要性=“高”/>' –
dirtybird
2015-06-05 16:43:32