I would like use macros for publishing my webapplication project. The little problem is, DTE.ExecuteCommand run asynchronously, and I need to wait until the command is done.
Example:
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem("04 - Products\04 - Products.WSS").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Publish")
'// now I want copy (and overwrite) some files, but AFTER the publish
Is there some synchronization object or information about state of executed command?
Thanks
Here's how you can compile single file, and then link whole solution for example:
Hey guys, if you're still looking for an answer to this one try this.
Tie into the publish events and on a successful push call your external command. I'm doing a similar thing with building the solution and then firing the MSpec test runner (blog post).
To do this you need to add in a hook for PublishEvents_OnPublishDone. Do this by going to the EnvironmentEvents Module and addin the following:
If you only want to run the external command sometimes do something like this. Create your macro like this:
Then in EnvironmentEvents add this: (Note: CustomMacros is the name of the module where you put the code above)
That should do it.
Cheers,
Kyle