多项目开发下的dll文件管理
- DS01:为什么要对生成的dll文件进行管理?
- DS02:首先介绍以下两个DOS命令
- DS03:第一种实现方法(xcopy)
- DS04:第二种实现方法(attrib)
- DS05:分享一个有意思的东西
- DS06:您可能需要了解的其他知识
有时候,我们需要将编译后的文件和dll拷贝到一个集中的地方,这一点对于多项目开发来讲很有帮助。
attrib指令的格式和常用参数为
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
I 无内容索引文件属性。
[drive:][path][filename]
指定要处理的文件属性。
/S 处理当前文件夹及其子文件夹中的匹配文件。
/D 处理文件夹。
/L 处理符号链接和符号链接目标的属性。
attrib命令的帮助文档:
C:\Users\shenjl>xcopy /?
复制文件和目录树。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B]
[/EXCLUDE:file1[+file2][+file3]...]
source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 仅复制有存档属性集的文件,但不更改属性。
/M 仅复制有存档属性集的文件,并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些源时间比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]...
指定含有字符串的文件列表。每个字符串在文件中应位于单独的一行。
如果任何字符串与复制文件的绝对路径的任何部分相符,则排除复制
该文件。例如,指定如 \obj\ 或 .obj 的字符串会分别排除目录
obj 下面的所有文件或带有 .obj 扩展名的所有文件。
/P 创建每个目标文件之前提示您。
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件的大小。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源文件名和目标文件名。
/L 显示要复制的文件。
/G 允许将加密文件复制到不支持加密的目标。
/H 也复制隐藏文件和系统文件。
/R 覆盖只读文件。
/T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重设只读属性。
/N 用生成的短名称复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 取消提示以确认要覆盖现有目标文件。
/-Y 要提示以确认要覆盖现有目标文件。
/Z 在可重新启动模式下复制网络文件。
/B 复制符号链接本身与链接目标相对。
/J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。 开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 覆盖。
xcopy命令的帮助文档
基本功能:复制文件和目录树。
常用用法:xcopy -r -y 原始文件夹\文件名 目标文件夹
DS05:分享一个有意思的东西
1、背景:
如果你的开发任务中存在多个项目(这里指的是很多很多哦),那么每次编译的时候就会花很长的时间,
如果可以让编译结束之后给出弹窗提示,那么我们就可以在等待的这段时间里做点其他有意思的事情了,有没有很心动啊?
2、操作方法:
我们在最后一个项目的后期生成事件命令中调用以下的批处理文件:
命令:call $(SolutionDir)AfterBuild.bat
3、解释如下:
输出一段话 msgbox "项目已全部编译完成!" 到myTip.vbs文件中去(注意:没有的话会新建一个)。
然后执行这个新生成的vbs(visual basic script)文件,弹出提示框。
最后再删除此文件。
那么,当最后一个项目编译完成之后,就会弹出如下的弹窗提示我们继续coding了。
有没有很赞啊,其实有时候中间等待的时间都够我玩一把俄罗斯方块了,说多了都是泪。。。
宏 | 说明 |
---|---|
$(ConfigurationName) |
当前项目配置的名称(例如,“Debug|Any CPU”)。 |
$(OutDir) |
输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。它包括尾部的反斜杠“\”。 |
$(DevEnvDir) |
Visual Studio 2005 的安装目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。 |
$(PlatformName) |
当前目标平台的名称。例如“AnyCPU”。 |
$(ProjectDir) |
项目的目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。 |
$(ProjectPath) |
项目的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。 |
$(ProjectName) |
项目的基本名称。 |
$(ProjectFileName) |
项目的文件名(定义为基本名称 + 文件扩展名)。 |
$(ProjectExt) |
项目的文件扩展名。它在文件扩展名的前面包括“.”。 |
$(SolutionDir) |
解决方案的目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。 |
$(SolutionPath) |
解决方案的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。 |
$(SolutionName) |
解决方案的基本名称。 |
$(SolutionFileName) |
解决方案的文件名(定义为基本名称 + 文件扩展名)。 |
$(SolutionExt) |
解决方案的文件扩展名。它在文件扩展名的前面包括“.”。 |
$(TargetDir) |
生成的主输出文件的目录(定义为驱动器 + 路径)。它包括尾部的反斜杠“\”。 |
$(TargetPath) |
生成的主输出文件的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。 |
$(TargetName) |
生成的主输出文件的基本名称。 |
$(TargetFileName) |
生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。 |
$(TargetExt) |
生成的主输出文件的文件扩展名。它在文件扩展名的前面包括“.”。 |
多项目开发下的dll文件管理的更多相关文章
- svn协同开发下的dll版本管理最佳实践
作为一名开发人员,常常碰到的一个问题是,当使用svn签出一份最新代码时,经常不能一次编译通过,导致花费大量时间去解决编译问题,这里碰到的问题一般可以分为三类: 1. 由于提交代码的开发人员失误,忘记提 ...
- ASP.NET项目中引用全局dll
在ASP.NET项目中,有些dll是全局dll,也就是说,没有放在单个项目的引用中.它们一般存放在如下目录C:\Windows\assembly中 这个时候,我们需要在单个项目中引用他们,应该如何做呢 ...
- AFC项目开发文档整理
AFC项目开发文档整理 PHPCMS 的确是一个伟大的CMS,我对它爱不释手. 标签嵌套无法loop获取的解决办法.关键代码如下: /\*后台添加\*/ $str = preg_replace ( & ...
- QM项目开发文档整理
QM项目开发文档整理 前言 在W公司工作4个多月,庆幸接触到的全是"硬"项目,真枪实干,技术.经验.能力都得到了很大提升. QM项目 此项目WEB前端学到的东西很多,对PHP项目的 ...
- Visual Studio中的引用项目和直接引用DLL文件
在VS中引用类库时有多种方法,其中用的最多的就是在引用时选择项目选项卡引用本解决方案下的类库项目和选择浏览选项卡直接引用类库DLL文件,实际上这两种引用方式略有不同,今天就为大家总结下. C#本地项目 ...
- Web项目使用Oracle.DataAccess.dll 类库连接oracle数据库
首先我用的工具是oracle 32位免安装版+Oracle.DataAccess.dll 32位 文件版本4.121.1.0+vs2013 +win7 64位 Oracle.DataAccess.d ...
- .net项目引用C++ 动态链接库.dll
项目开发时可能需要调用其动态链接库,如C++动态链接库,实现相应功能,那么在C#里怎么调用C++库里的方法呢,如下提供两种方式. 方式一:建立一个C++项目,选择dll动态链接库如下. //stdaf ...
- VS 项目(c#)引用了 DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称
1. 在项目上点右键-->属性-->应用程序-->目标框架-->修改为.NET Framework 4. 而我原来的设置是.NET Framework 4 Client Pro ...
- ASP.NET CORE MVC 2.0 项目中引用第三方DLL报错的解决办法 - InvalidOperationException: Cannot find compilation library location for package
目前在学习ASP.NET CORE MVC中,今天看到微软在ASP.NET CORE MVC 2.0中又恢复了允许开发人员引用第三方DLL程序集的功能,感到甚是高兴!于是我急忙写了个Demo想试试,我 ...
随机推荐
- 【转】ACM训练计划
[转] POJ推荐50题以及ACM训练方案 -- : 转载自 wade_wang 最终编辑 000lzl POJ 推荐50题 第一类 动态规划(至少6题, 和 必做) 和 (可贪心) (稍难) 第二类 ...
- Uva 1629 切蛋糕
题目链接:https://vjudge.net/contest/146179#problem/B 题意:一个矩形蛋糕上有好多个樱桃,现在要做的就是切割最少的距离,切出矩形形状的小蛋糕,让每个蛋糕上都有 ...
- django之分页、cookie装饰器
一.分页代码如下 from django.utils.safestring import mark_safe class Page: def __init__(self, current_page, ...
- JS判断输入是否为整数的正则表达式
1.正确表达式 "^\\d+$" //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-\\d+)|(0+ ...
- [转]vb socket通信(TCP/UDP)一对一、多对一
VB Socket编程(Winsock控件创建TCP/IP客户机/服务器程序) Winsock控件建立在TCP.UDP协议的基础上,完成与远程计算机的通信.即使对TCP/IP不太熟悉的用户,使用 ...
- 对teacher表进行增加,删除,修改
<%@page import="java.text.SimpleDateFormat"%> <%@ page language="java" ...
- StringBuffer(线程安全)StringBuilder(非线程安全)
StringBuffer属于线程安全,相对为重量级 StringBuilder属于非线程安全,相对为轻量级 线程安全的概念: 网络编程中许多线程可能会同时运行一段代码.当每次运行结果和单独线程运行的结 ...
- [issue] [iOS 10] 升级后无法真机测试 Could not find Developer Disk Image
说明:更新了手机的到了iOS 10.0.2.真机调试时候提示"Could not find Developer Disk Image" 并且之前就下载了Xcode8,但是没有安装X ...
- linux下与windows下的换行符
[原文有些许错误,已作了修改] 回车符号和换行符号产生背景 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别.在计算机还没有出现之前,有一种叫做电传 ...
- 防止SQL注入的方法
方法1⃣️addslashes(); $username=addslashes($_POST['username']); 方法2⃣️mysql_escape_string(); 方法3⃣️开启魔术引号 ...