我怎样才能使用 MSBuild 来(真正)运行 AfterPublish
我需要在 ClickOnce 发布后进行 shell out(在我的 .application 文件上调用 svn commit)。 但是,我无法找到将其挂接到我的 MSBuild .csproj 文件中的方法。
- PostBuild 事件太早
- 并且在 PostBuild 中调用“start Some.exe”不会在后台运行
- 并且使用 MSBuild 中的 AfterBuild 目标已完成 在部署文件之前。
天哪!
我使用了非常酷的MSBuild SideKick来检查我的.csproj文件,当我从 SideKick 内部运行时,AfterBuild 目标实际上在构建后发生。 赫弗; 我的 shell 失败了,无论如何我更希望事情能在 IDE 内部工作。
在这方面有人有智慧吗?
I need to shell out (to call svn commit on my .application file) after a ClickOnce publish. However I've not been able to find a way to hook it into my MSBuild .csproj file.
- The PostBuild Event is too early
- And calling 'start Some.exe' in PostBuild does not run in the background
- And using the AfterBuild Target from MSBuild is done before the files are deployed.
Dang!
I used the pretty cool MSBuild SideKick to inspect my .csproj file and when I run from inside SideKick the AfterBuild target does in fact happen after build. Hoever; my shell out fails and I'd prefer for things to work from inside the IDE anyway.
Does anyone have any pearls of wisdom in this area?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过创建 AfterPublish 目标? 您应该在 .csproj 文件中的 语句之后创建此目标。
Sayed Ibrahim Hashimi
我的书:Microsoft 构建引擎内部:使用 MSBuild 和 Team Foundation Build
Have you tried creating an AfterPublish target? You should create this target in your .csproj file after the statement.
Sayed Ibrahim Hashimi
My Book: Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build
我们已经使用该任务在构建的不同点进行了处理。 这会为您生成一个新的 cmd.exe 实例。 我用它在后台生成 PowerShell 脚本。 这很好,因为您可以使用 PowerShell 做很多事情,只需确保使用 stdout,以便 PS 日志显示在您的团队构建中。
We've used the task to shell out at different points in the build. This spawns a new instance of cmd.exe for you. I've used this to spawn PowerShell scripts in the background. It's nice since you can do a lot with PowerShell, just be sure to use stdout so the PS log shows up in your team build.