我正在尝试为CMake设置构建后命令,这已使用CMake文档中所述的ADD_CUSTOM_COMMAND指令完成。但是,我要执行的操作是仅在创建可执行文件的发布版本时才进行构建后运行。
如何做到这一点?
我的发布版本完成后,我想运行一个脚本.
我发现这个问题如何在QT中从.pro完成编译后执行shell命令?但答案对我不起作用.我尝试在我的.pro文件中添加对此的各种修改:
CONFIG(release, debug|release) {
mytarget.target = ./MyScript.sh
mytarget.commands = touch $$mytarget.target
QMAKE_EXTRA_TARGETS +=mytarget
QMAKE_POST_LINK += mytarget
}
Run Code Online (Sandbox Code Playgroud)
但这总是会产生":-1:错误:mytarget:没有这样的文件或目录".路径是正确的,'MyScript.sh'在命令行中运行正常.
由于这适用于其他人,我想我做错了.我在Mac上使用Qt 4.7.2.
我目前正在我的项目中使用post build事件将我的程序集复制到另一个目录以进行调试.这是我的机器本地的,仅用于调试目的,所以我更喜欢将它放在*.csproj.user文件而不是*.csproj文件中.我尝试将负责的元素从*.csproj复制到*.csproj.user,但这不起作用.
编辑 为了澄清,我不想将用户特定的命令放在*.csproj文件中的post-build事件中.相反,我想将post-build事件命令放在*.csproj.user文件中.(从答案到目前为止,这看起来不可能)
为了提供更多上下文,它不是项目参考.我将我的程序集复制到运行时加载程序集的应用程序的目录.(想想插件)
我在Visual Studio中有一个解决方案,其中我有一个共享属性表,其中包含一个bar需要为每个项目执行的Post-Build Event命令().
Foo.props>公共属性>构建事件>构建后事件>命令行=栏
然后,我如何指定其他项目特定的后期构建事件?缺少通常的"从父项或项目默认值继承",我宁愿不必手动添加bar到每个项目,因为它很难维护.
我正在尝试从VisualStudio运行特定项目时启动grunt监视的实例.我有一个用ember编写的页面应用程序,并使用grunt编译,它连接到用WebAPI编写的后端.我正在尝试减少摩擦,因此可以在VS中启动调试(F5)并让它完成所有工作.
如果我添加一个post-build事件来使用grunt编译应用程序,它可以正常工作:
node node_modules\grunt-cli\bin\grunt dev --no-color
Run Code Online (Sandbox Code Playgroud)
grunt watch 永远不会终止,因此VisualStudio构建似乎会挂起,直到你终止node.exe进程(除了无法使用Ctrl + Break在VS中停止之外,这是主要的预期):
node ../node_modules\grunt-cli\bin\grunt watch --no-color
Run Code Online (Sandbox Code Playgroud)
我尝试从start命令开始,但VisualStudio仍然等待它退出(只是说"Build started ..."):
start node ../node_modules\grunt-cli\bin\grunt dev --no-color
Run Code Online (Sandbox Code Playgroud)
我也尝试过start的/i参数,但这没有用.它打开一个新的窗口运行grunt watch,但在我关闭控制台窗口之前,构建不会继续(应用程序不会启动).

据推测,这与构建过程的子进程有什么关系?有没有一个实际的方法来启动后台任务没有VisualStudio等待它?
msbuild visual-studio-2010 background-process post-build-event
在.proj文件的TFS post build脚本中,我想查找是否通过TFS触发的构建或手动触发的构建进行项目构建.有人可以建议我如何使用Post Build事件中的宏来执行此操作.
我正在为3台智能电视编写一个统一的项目.我还创建了3个配置Visual Studio.现在我想CLI根据所选配置执行一些脚本.
问题是在新ASP.NET 5项目中我没有用于后期构建事件的编辑器.
我知道我必须这样做project.json.我发现的是:
"scripts": {
"postbuild": ""
}
Run Code Online (Sandbox Code Playgroud)
但是使用这个我不能CLI为不同的配置创建不同的脚本.
我发现了:
"configurations": {
},
Run Code Online (Sandbox Code Playgroud)
我猜这可能是我想要的,但是...如何使用它?Intellisense在这里没有权力,我也不幸在网上搜索......
[编辑]
也许我应该试试.xproj?
post-build-event visual-studio buildconfiguration asp.net-core
鉴于bin\内部德尔福项目中包含的文件目录Cert.pem和Key.pem低于德尔福后生成事件的唯一副本,如果这两个文件C:\Binaries\Cert.pem不存在:
if not exist $(OUTPUTDIR)Cert.pem (copy bin\Cert.pem $(OUTPUTDIR))
if not exist $(OUTPUTDIR)Key.pem (copy bin\Key.pem $(OUTPUTDIR))
Run Code Online (Sandbox Code Playgroud)
一旦C:\Binaries\Cert.pem存在,Key.pem永远不会复制该文件.
如何在后期制作活动中解决这个问题?
编辑:与我的2014年帖子不同,这确实可以使用括号.请参阅下面的答案.
我开始习惯Eclipse,但我对Visual Studio有更多的经验.在Visual Studio中,可以在构建完成后运行自动命令.
现在,我正在Eclipse中的一个解决方案(或工作区)中同时创建一个GWT项目和其他几个项目.使用GWT项目编译的某些文件在编译时需要复制到另一个位置.我目前正在手动执行此操作并希望自动执行此操作.我不经常这样做,因为项目在调试模式下工作正常(...?gwt.codesvr = localhost:9997).
但是在eclipse中为GWT项目执行post build命令的位置在哪里?可能吗?
jenkins是否有后期构建过程,以便构建WAR文件可以存储在特定文件夹中?