VS2013 生成事件,删除不必要的DLL

解决方案中有一个 Project 是 Windows Service,用来从消息队列中取出事件,发送通知电邮;

UI是一个MVC网站,两个Project都引用了同一个类库,这个类库引用了第三方的生成PDF组件 Pechkin;

我每次生成网站时,Pechkin的7个DLL都会自动拷贝到 bin 目录,7个DLL加起来30几兆,而且网站运行时就会报错(修改IIS应用程序池可以解决),害我每次调试网站,都要手动从BIN目录删除这些DLL,很耽误效率,

其实只有 Windows Services 项目用到 Pechkin,网站根本不需要,于是我想到了 VS的生成事件,在生成事件下通过宏命令自动删除这些DLL,我是这样做的

网站上右键属性 =》 生成事件

$(TargetDir) 就是输出目录,就是网站的 bin 目录,更多的命令参数可以点击“Macros”;

IF EXIST 判断是否存在文件,一条条件判断语句,不要换行;

DEL 是删除一个或多个文件。

IF EXIST $(TargetDir)Pechkin.dll DEL $(TargetDir)Pechkin.dll
IF EXIST $(TargetDir)Pechkin.Synchronized.dll DEL $(TargetDir)Pechkin.Synchronized.dll
IF EXIST $(TargetDir)libeay32.dll DEL $(TargetDir)libeay32.dll
IF EXIST $(TargetDir)libgcc_s_dw2-1.dll DEL $(TargetDir)libgcc_s_dw2-1.dll
IF EXIST $(TargetDir)mingwm10.dll DEL $(TargetDir)mingwm10.dll
IF EXIST $(TargetDir)ssleay32.dll DEL $(TargetDir)ssleay32.dll
IF EXIST $(TargetDir)wkhtmltox0.dll DEL $(TargetDir)wkhtmltox0.dll

更多命令,参考这个网站 http://www.lxway.com/486410602.htm

时间: 2024-11-08 14:22:53

VS2013 生成事件,删除不必要的DLL的相关文章

使用VS的生成事件命令行指令将生成的exe,dll文件复制到指定文件夹中

VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual Studio 2005 的安装目录(定义为驱动器 + 路径):

利用VS的预生成事件获取SVN版本作为项目内部版本号

VS中的Properties下的AssemblyInfo.cs可以设置相应的版本号.下面是AssemblyInfo.cs设置版本的方式. [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] 但是,这个需要每次都设定,而且与SVN上的版本号并不一致,追塑起来不是很方便.所以就想着取SVN上的版本号作为项目的版本号.要得到SVN的版本号,可以在SVN的节眯下,

项目属性-->生成事件-->后期生成事件命令行

以开源记牌器https://github.com/Epix37/Hearthstone-Deck-Tracker 为例,Hearthstone Deck Tracker项目中的后期生成事件命令行: if "$(ConfigurationName)" == "Release" ( rmdir /S /Q "..\Hearthstone Deck Tracker" mkdir "..\Hearthstone Deck Tracker&quo

VS"后生成事件" 菜单的使用

网上有很多的文章都在介绍怎样创建一个自己定义的dll文件,以及怎样使用一个dll文件,在此不在赘述.本文主要介绍怎样使用VS2008的"生成后事件"的命令行,将一个dll文件直接复制到项目的debug,或者release文件里. 首先.找到项目属性下的"生成事件"选项例如以下图所看到的: 单击"命令行"右側的三点号.出现了命令行加入窗体,例如以下图所看到的.输入命令"copy /b "$(InputDir)/lib/*.dll

VS中的生成事件

1:为什么需要使用生成事件? 在实际开发过程中,一个公共使用的类库,在项目生成DLL后需要被复制到不同的目录下被引用,是不是觉得每次生成之后都需要人工复制是很麻烦的一件事情 我们可以利用VS中的项目生成事件属性来进行生成后的DLL复制到指定的目录,或者进去其他的操作,比如打包成.zip的压缩包 2:怎么使用? 一.位置: 项目-->右键-->属性-->生成事件. 预先生成事件就是在编译之前我需要做的事情,后期生成事件就是编译成功之后我要做的事情. 二.地址: 我们看到这样的命令: cop

visual studio C/C++ 编程学习 visual studio 中的生成事件

也许是太方便了,大家在visualstudio中调试代码时,大多习惯了直接点这个小绿箭头,但其实从点这个小绿箭头直到程序开始运行中间经历了多个步骤. 下面我就这段事件在编译过程中遇到的问题,讲一些我的经验. 今天先来说一说 visual studio 中的生成事件 一个事例:有几幅bmp图像数据文件放在 test .vcproj工程文件所在文件夹下面的Data文件夹中.此时,外界调用该工程所生成的DLL文件,且需要取Data文件夹中bmp图像数据文件. 如下图所示: 作为首启动项的CallTes

VS 生成事件

转载自: http://hi.baidu.com/gisince/item/7f0439ee610c94255a2d64b4 今天写了生成事件的处理,如下: 从网上Down了一个例子,运行时提示错误 命令"copy F:\-- F:\--"已退出,返回值为 1:以前没遇到过,从网上查了一下,有个网友也有这个问题,他是把一个程序复制一遍,程序名称变成了"复制 程序名",就出现了这个问题,而源程序没任何问题:于是我把程序放到F盘的根目录下,运行,程序正常.再一分析,是该

VS生成事件

源自:http://www.cnblogs.com/FreeDong/p/3406737.html 如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率.本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可看到 “生成事件” 选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了. 我有一个解决方案IdleTest,还有另一个解决方案下的项目需用到IdleTest最新的dll,而原

Visual studio中后期生成事件命令使用

在做项目是总要把发布后的一些dll拷贝的根网站的bin目录下,为了避免每次都需要手动拷贝可以在 项目的生成事件中写入bat命令,下面的命令只在项目使用的发布配置时执行拷贝, (在生成->配置管理器中可以设置各个项目的配置项) @echo off set "str=$(ConfigurationName)" if "%str%"=="Release" (xcopy "$(TargetDir)*.dll" "C:\