VS中配置生成事件

一、为什么需要使用生成事件?

        在实际开发过程中,在项目生成DLL后,需要被复制到不同的目录下被引用,很麻烦。

        我们可以利用VS中的项目生成事件属性来进行生成后的DLL复制到指定的目录,或者进去其他的操作,比如打包成.zip的压缩包。

        生成事件,Visual Studio 中的生成事件(Build Events)是项目构建过程中的一个重要功能,它允许在特定的构建阶段执行自定义命令或脚本。生成事件可以在以下不同阶段触发:

  1. 预生成事件(Pre-Build Event)

    • 发生在实际编译之前,常用于更新资源、复制文件到特定目录,或者运行某个前置处理工具等。
  2. 后期生成事件(Post-Build Event)

    • 发生在项目成功编译和链接之后,可以用来执行诸如部署文件、注册DLL、打包应用程序、拷贝输出文件到其他位置等操作。
  3. 目标清理事件(Clean Build Event)

    • 当执行项目清理时触发,用于删除除了默认清理之外的额外文件,例如临时文件、自动生成的文档或其他需要清理的中间产物。

 

二、怎么配置?

生成事件

具体路径为:项目属性 -> 常规 -> 预生成事件/后期生成事件命令行

a0967a96c4e343d4847ca3c075cc2815.png

 

预先生成事件命令行

就是在编译之前我需要做的事情

ffef2502d8de42e3a5f23b0f3a0dfdec.png

 

生成后事件命令行

就是编译成功之后我要做的事情。  

5d90a8d9685b4ed081da7678f5b94dbe.png

配置命令

copy "$(TargetPath)" "$(ProjectDir)..\..\..\output"

意思是将前面目录中文件Copy到 $$(ProjectDir)..\..\..\output目录下。

而$中的内容,就是定义好的宏,点开上图中的宏字,就看到下图中已经定义好的地址宏。

在“预先生成事件命令行”、“生成后事件命令行”文本框中,你可以输入任意符合操作系统shell规范的命令行语句,也可以使用Visual Studio提供的宏变量,如$(ProjectDir)$(TargetDir)等,以便于定位相关文件和目录。

 

各个宏对应的值

不同的项目对应的值也不同,以下仅供参考

edbb73c0a91a470d85c53815f65a2943.png

 

注意:如果遇到如error MSB3073这样的错误,意味着在执行生成事件指定的命令时出现了错误,导致后续操作被终止。你需要检查该命令是否正确无误,并确保相关的文件路径、环境变量等都是有效的。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/452445.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C/C++——Tchisla求解器(多线程高性能版本)

前言 之前一篇文章中介绍的使用Python写的Tchisla求解器Python——Tchisla求解器(暴力搜索法)在我实际使用中有比较大的缺陷,首先是太慢了,对于每日一题中四位数的目标数字,往往搜索数个小时都找不完1~9的全部最优解&…

重学SpringBoot3-ErrorMvcAutoConfiguration类

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-ErrorMvcAutoConfiguration类 ErrorMvcAutoConfiguration类的作用工作原理定制 ErrorMvcAutoConfiguration示例代码1. 添加自定义错误页面2.自定义错误控…

【小白学机器学习8】统计里的自由度DF=degree of freedom, 以及关于df=n-k, df=n-k-1, df=n-1 等自由度公式

目录 1 自由度 /degree of freedom / df 1.1 物理学的自由度 1.2 数学里的自由度 1.2.1 数学里的自由度 1.2.2 用线性代数来理解自由度(需要补充) 1.2.3 统计里的自由度 1.3 统计学里自由度的定义 2 不同对象的自由度 2.1 纯公式的自由度&#…

汤唯N次被封后,除了人美外,这些也许你没想到!

汤唯N次被封后,除了人美外,这些也许你没想到! 引言:影坛的璀璨明星 #李秘书讲写作#注意到,在光鲜亮丽的电影圈,有一位女演员以其独特的气质和深入人心的演技,成为了众多观众心中的璀璨明星。她…

國内linux服务器解决Ollama安装超时

curl -fsSL https://ollama.com/install.sh | sh 执行一直超时 做如下配置: 修改hosts文件,直接将http://github.com做个ip指向。 sudo vim /etc/hosts 输入密码后,按 i 增加以下配置 # github 注意下面的IP地址和域名之间有一个空格 140…

朱熹凭着理学成为天选之子,读书方法也很实用

唐朝是李姓的天下,推行老子的道家思想。同时,佛教兴旺鼎盛。儒家开始没落,失去主要地位。为了恢复儒家的地位,朱憙极力发展理学。 理学又叫道学。北有孔子,南有朱子。朱憙是理学集大成者,被称为朱子。理学…

STM32的GPIO初始化配置-学习笔记

简介: 由于刚开始没有学懂GPIO的配置原理,导致后面学习其它外设的时候总是产生阻碍,因为其它外设要使用前,大部分都要配置GPIO的初始化,因此这几天重新学习了一遍GPIO的配置,记录如下。 首先我们要知道芯片…

基于支持向量机SVM的点火电流预测

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 完整代码和数据下载链接:基于支持向量机SVM的点火电流预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88947558 SVM应用实例,基…

.Net Core 中间件验签

文章目录 为什么是用中间件而不是筛选器?代码实现技术要点context.Request.EnableBuffering()指针问题 小结 为什么是用中间件而不是筛选器? 为什么要用中间件验签,而不是筛选器去验签? 1、根据上图我们可以看到,中间件在筛选器之…

【Rockchip android7.1 平台rtl8821cs wifi移植调试】

Rockchip 平台rtl8821cs wifi移植调试 问题描述解决方法 郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的 转载请标明出处:攻城狮2015 Platform: Rockchip rk3128 OS:Android 7.1.2 Kernel: 3.10 问题描述 客户需要在现在的板子上调一款RTL882…

前端的数据标记协议

文章目录 数据标记协议是什么数据标记协议的作用常见的数据标记协议Open Graph protocol 开放图谱协议基本元数据协议可选元数据结构化属性 —— 元数据的属性多个相同的元数据标签类型元数据的使用方法全局类型使用自定义类型使用对象类型使用歌曲对象类型视频对象类型文章对象…

算法打卡day15|二叉树篇04|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

算法题 Leetcode 110.平衡二叉树 题目链接:110.平衡二叉树 大佬视频讲解:平衡二叉树视频讲解 个人思路 可以用递归法,计算左右子树的高度差,当超过1时就不为平衡二叉树了; 解法 回顾一下二叉树节点的深度与高度; …

软件测试知识面试题:白盒测试、黑盒测试、测试用例

文章目录 白盒测试1、白盒测试分两类2、白盒测试的四个原则3、白盒测试常用的7类测试 黑盒测试1、黑盒测试的优缺点2、黑盒测试的方法3、黑盒测试的原则 测试用例1、测试用例包含2、设计测试用例所需的文档资料3、采用白盒测试技术设计用例的目的4、采用黑盒测试技术设计用例的…

网络编程套接字(3)——Java数据报套接字(UDP协议)

目录 一、Java数据报套接字通信模型 二、UDP数据报套接字编程 1、DatagramSocket (1)DatagramSocket构造方法 (2)DatagramSocket方法 2、DatagramPacket (1)DatagramPacket构造方法 (2&…

spring启动时如何自定义日志实现

一、现象 最近在编写传统的springmvc项目时,遇到了一个问题:虽然在项目的web.xml中指定了log4j的日志启动监听器Log4jServletContextListener,且开启了日志写入文件,但是日志文件中只记录业务代码中我们声明了日志记录器的日志&a…

HTML静态网页成品作业(HTML+CSS)——电影加勒比海盗介绍设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

数据结构从入门到精通——树和二叉树

树和二叉树 前言一、树概念及结构1.1树的概念1.2 树的相关概念(重要)1.3 树的表示1.4 树在实际中的运用(表示文件系统的目录树结构) 二、二叉树概念及结构2.1二叉树概念2.2现实中的二叉树2.3 特殊的二叉树2.4 二叉树的性质2.5 二叉…

PCB差分通孔的数值建模方法

目录 0 引言 1 基于CST的3D通孔模型 2 通孔模型的近似等效计算 3 利用ADS进行电路仿真分析 4 总结 0 引言 当数据速率超过10Gbps时,PCB上的通孔所带来的寄生参数会成为影响数据误码率的关键因素之一,虽然通过三维电磁场求解器提取过孔的行为模型&…

rust入门(1)创建项目

安装 vscode 安装插件 rust-analyzerNative Debug vscode 配置自动格式化代码 settings.json{"editor.defaultFoldingRangeProvider": null,"[rust]": {"editor.defaultFormatter": "rust-lang.rust-analyzer", // Makes the magi…

Python 井字棋游戏

井字棋是一种在3 * 3格子上进行的连珠游戏,又称井字游戏。井字棋的游戏有两名玩家,其中一个玩家画圈,另一个玩家画叉,轮流在3 * 3格子上画上自己的符号,最先在横向、纵向、或斜线方向连成一条线的人为胜利方。如图1所示…