Visual Studio 生成事件命令】的更多相关文章

Visual Studio在生成项目工程前后,有时我们需要做一些特殊的操作,比如:拷贝生成的dll到指定目标下面等. 结合VS可以添加预先生成事件和后期生成事件,采用命令或bat批处理. 1.Visual Studio生成事件命令 预先生成事件命令行,示例: cd $(ProjectDir)\ResourceBuildResource.bat 后期生成事件命令行,示例: xcopy /r /y $(TargetPath) $(ProjectDir)..\Bin\xcopy /r /y $(Tar…
在上一篇<Visual Studio 调试技巧>中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件. 一.什么是VS生成事件 简单来说,VS生成事件就是在编译项目的过程中发生的一些事件.根据事件发生的时机,允许自定义一些操作. VS生成事件可以在项目上右键,选择属性菜单后看到.VS生成事件分为以下两大部分: 1. 生成前事件命令行,可以指定在项目编译之前执行的一些命令行操作. 通过点击编辑预先生成按钮,可以编辑生成前事件命令行.其中宏按钮允…
IF NOT "$(ConfigurationName)"=="publish" exit /B 0if not exist $(TargetPath)publish md $(TargetPath)publishxcopy /y $(TargetPath) $(SolutionDir)\\publisher 关于xcopy http://baike.baidu.com/link?url=PqKP2WNM02x4jWOGlYV4p2nm5X-gtIMitWsWMsI…
在做项目是总要把发布后的一些dll拷贝的根网站的bin目录下,为了避免每次都需要手动拷贝可以在 项目的生成事件中写入bat命令,下面的命令只在项目使用的发布配置时执行拷贝, (在生成->配置管理器中可以设置各个项目的配置项) @echo off set "str=$(ConfigurationName)" if "%str%"=="Release" (xcopy "$(TargetDir)*.dll" "C:\…
VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual Studio 2005 的安装目录(定义为驱动器 + 路径):…
概述 Visual studio 项目允许在项目属性生成事件一栏中指定预先生成和后期生成事件来实现项目生成与部署的自动化. 实例1: 我自己写了一个调试工具,该工具处于一边开发一边使用过程中.实际工作中可能时不时的我会遇到一些新的特性需求想要加到该工具类库中,每次开发到一个稳定版本我会发布到我的部署目录下.我希望我项目生成的文件自动copy到某个特定的部署目录中,因此可以通过制定以下后期生成事件实现: if $(Configuration)==Release ( xcopy $(ProjectD…
以开源记牌器https://github.com/Epix37/Hearthstone-Deck-Tracker 为例,Hearthstone Deck Tracker项目中的后期生成事件命令行: if "$(ConfigurationName)" == "Release" ( rmdir /S /Q "..\Hearthstone Deck Tracker" mkdir "..\Hearthstone Deck Tracker&quo…
原文:VS2010-使用"预先生成事件命令行"和"后期生成事件命令行"功能 xcopy /r /y $(TargetPath) $(ProjectDir)..\Bin\ xcopy /r /y $(TargetDir)$(TargetName).pdb $(ProjectDir)..\Bin\ xcopy /r /y $(TargetPath) $(ProjectDir)..\Release\ xcopy /r /y $(TargetDir)$(TargetName…
项目属性 - 生成事件 项目生成前:预先生成事件命令行: 项目生成后:后期生成事件命令行:例:copy $(ProjectDir)Reference\sms_cfg.ini $(TargetDir) ,即将项目文件夹Reference下sms_cfg.ini文件,拷贝到项目Bin目录下. Del $(TargetDir)*.pdb 将目标文件下的*.pdb删除 也可以点击“编辑后期生成事件”,根据需要,参考取宏参数. 详细补充:http://www.cnblogs.com/stoneniqiu/…
本人使用软件:vs2015 拷贝“项目1”的 bin目录 下, 项目配置的名称(“Release”,“Debug”)目录下,所有内容到“项目2”输出目录(存在直接覆盖): xcopy $(SolutionDir)项目1名称\bin\$(ConfigurationName) $(SolutionDir)项目2名称\$(OutDir) /E /Y /F /I 删除项目输出文件目录中.xml和.pdb格式文件: del $(SolutionDir)项目名称\$(OutDir)*.xmldel $(So…
  在“配置属性->生成事件->生成后事件”属性页中的“命令行”编辑框中输入如下命令: copy "$(ProjectDir)$(IntDir)\$(ProjectName).tlb" "$(SolutionDir)\bin\$(ProjectName).tlb" 就可将$(ProjectDir)$(IntDir)\$(ProjectName).tlb文件拷贝到$(SolutionDir)\bin目录下.(宏的含义参见MSDN) 注意:不管真实磁盘的文件…
在Build会议上,我们发布了新的版本---Windows Phone 8.1. Windows 8.1 平台.作为开发人员,这意味着您现在可以生成 XAML 和 HTML 的通用程序,并通过分享大量的代码和内容使其运行在手机和平板电脑上.为了使构建通用程序可用,我们在Visual Studio中添加了许多新功能作为Visual Studio 更新 2 RC的一部分. 您有两种方式来了解关于这些功能的更多信息.一种方法是通过这篇博客.另一个方式是收看我的Build talk视频,它涵盖了所有的资…
新建一个项目,在菜单栏中选择“项目”/“**属性”选项,该页面中将“输出类型”下拉列表中的选项选择为“类库”,然后重新生成一下该项目,或者在“Visual Studio 2008命令提示”中输入以下命令: csc /t:library *.cs   //*.cs表示要编译的文件名…
这里直接先将我摸索出的结果贴出来,文章后面会一一详细说明和分析:.vs目录是用来存储当前用户在解决方案中的工作配置,具体包括VS关闭前最后的窗口布局.最后打开的选项卡/操作记录/文件文档.某些自定义配置/开发环境.调试断点等这类设置信息和状态.这样每当用户关闭解决方案后再重新打开,就能继续之前的工作状态. 在VS2015之前的版本,这些信息都是散乱的保存在解决方案根目录下(最明显的参照物就是.suo文件),现在是将这些统一放在.vs这个隐藏文件夹里,如果没在Windows系统中开启查看隐藏的文件…
首先点击 vs菜单栏->工具 ,选择 外部工具, 在弹出的窗口中点击 添加, 然后在“标题”行中输入"WSDL生成代理类", "命令"行中输入"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe"(wsdl.exe文件的路径), "参数"行中输入"/l:cs /out:", 单击"初始目录"行右边的三角按…
https://shiyousan.com/post/636441130259624698 在某个契机的引发下,对VS解决方案中自动生成的.vs文件夹产生了兴趣,以前总对这个文件夹不怎么上心,最近正好遇到点情况来搞懂.vs目录究竟有什么作用. 这里直接先将我摸索出的结果贴出来,文章后面会一一详细说明和分析:.vs目录是用来存储当前用户在解决方案中的工作配置,具体包括VS关闭前最后的窗口布局.最后打开的选项卡/操作记录/文件文档.某些自定义配置/开发环境.调试断点等这类设置信息和状态.这样每当用户…
今天VS启动不了了,连命令行的 devenv.exe /? 都执行不了,看不到帮助命令了,记性不好,以前看过但没记住呀,还好我装了两个不同版本的VS, 另一个VS的帮助命令还是可以看到的.虽然修复了,还是把帮助命令备忘一下,下次就不会措手不及了,有用的人需要也可以借鉴一下,最有可能出现问题的是插件引起的问题,安全模式最有用,几乎都可以启动: Use: devenv [solutionfile | projectfile | anyfile.ext] [switches] The first ar…
宏                                                      说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual…
从Visual Studio 2012版本开始默认集成了Nuget扩展,在Visual Studio 2010或以下的版本需要单独安装,安装方法如下: 1. “工具”→“扩展和更新...”,弹出扩展管理面板 2. 左侧选择“联机”,右侧搜索框输入“nuget”,搜索可以点击安装,安装完成可能要重新启动Visual Studio 由于我这里使用的是Visual Studio 2015,因此跳过安装,这里主要是nuget命令使用的介绍,Nuget另一种使用方式可以通过可视化的界面去操作,这里就不作介…
$(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir) Visual Studio 2005 的安装目录(定义为驱动器 + 路径):包括尾部的反斜杠“\”. $(PlatformName) 当前目标平台的名称.例如“AnyCPU”. $(ProjectDir) 项目的目录(定义为驱动器 + 路径):包括尾部的反…
宏 说明 $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir) Visual Studio 2005 的安装目录(定义为驱动器 + 路径):包括尾部的反斜杠“\”. $(PlatformName) 当前目标平台的名称.例如“AnyCPU”. $(ProjectDir) 项目的目录(定义为驱动器 + 路径):包…
宏 说明 $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir) Visual Studio 2005 的安装目录(定义为驱动器 + 路径):包括尾部的反斜杠“\”. $(PlatformName) 当前目标平台的名称.例如“AnyCPU”. $(ProjectDir) 项目的目录(定义为驱动器 + 路径):包…
  pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配置进行增量链接.Release 里的PDB是pdb-only,出什么错了+错误在哪行. .vshost.exe文件: 宿主进程文件,是Visual Studio 2005中的一项功能,主要是为了提高调试性能. release时最好删除. .vshost.exe.manifest 文件: 是一个以.m…
将程序所依赖的动态库与其他依赖文件做了分类,使用XCopy命令自动生成相应的目录结构. set source="$(TargetDir)" set output="$(SolutionDir)station_release_files" set appname=$(TargetFileName) echo %output% if exist %output% (rd %output% /s /q) else (md %output%) echo f | xcopy…
set "str=$(ConfigurationName)" if "%str%"=="Release" (xcopy /y/e $(TargetDir)*.* "C:\MIIDSS3\Program Files\Xanalys\Link Explorer 6.2\plugin") else echo No copy…
提出问题:我们的解决方案中有两个可执行程序,主程序运行后,会通过process.start()打开多个子程序.调用process.start的时候,需要指定子程序的可执行路径,把子程序的可执行程序放到什么位置比较好呢. 解决方法:如果我们在编译子程序的时候,将子程序编译后的.exe生成目录copy到主程序的可执行目录下的subprocess文件夹,就可以了. 用visial studio自带的生成后批处理命令,可以将编译后的.exe生成目录copy到指定文件夹. visual studio->右…
1.   xcopy (复制文件) xcopy参数介绍 命令格式:XCOPY source [destination] 一堆可选的参数 参数介绍 source 指定要复制的文件. destination 指定新文件的位置和/或名称. /A 只复制有存档属性集的文件, 但不改变属性. /M 只复制有存档属性集的文件, 并关闭存档属性. /D:m-d-y 复制在指定日期或指定日期以后改变的文件.如果没有提供日期,只复制那些源时间比目标时间新的文件. /EXCLUDE:file1[+file2][+f…
长久以来若干个项目都遇到过类似的情形,已经成功生成的项目启动调试或者再生成依然认为部分项目需要生成而不是跳过.总结以往的经验,记录下来,以便大家遇到时处理. 若有多个项目提示需要重新生成,优先检查被依赖的项目.因为被依赖的项目需要重新生成会造成依赖它的其他项目也需要重新生成. 检查问题项目的包含路径,是否有不存在的路径. 检查问题项目中含有自定义生成过程的文件,是否指定了正确的输出文件. 检查问题项目中所有文件的修改日期是否存在'未来'时间. 每修改一处就单独生成问题项目2次,若第二次没有发生生…
发现与解决 检查了一下项目文件,发现是因为这些 dll 文件的引用其中一个叫做 嵌入互操作类型(EmbedInteropTypes)的属性被设为了 True,此时 复制本地 属性会被强制设为 False.所以 dll 文件自然也就不会被复制到输出目录了. 所以只要将 嵌入互操作类型 设为 False 后,重新生成项目即可解决. 更多 但是发现在引用这些 dll 文件时,并没有与其它正常 dll 有什么不同的地方. 网上大概搜索了一下,好像发现产生这种问题的,名字中都包含 Interop.,且应该…
来源:https://stackoverflow.com/questions/11001822/copy-files-from-one-project-to-another-using-post-build-event-vs2010 /I - treat as a directory if copying multiple files /Q - Do not display the files being copied. /S - Copy subdirectories unless empty…