Visual Studio 编译时,如何管理生成的DLL

在用Visual Studio 开发时,少不了会引用其他类库的源码。一般引用类库有两种方法。

1、直接引用项目。

2、引用项目生成路径的dll。

现在如果有两个项目 ProjectA和ProjectB。ProjectA引用ProjectB。

 

问题1:

在第二种方法中,那么编译ProjectA的时候就会把ProjectB的dll考到ProjectA的bin(默认)文件夹中。

现在有个需求是,我想把ProjectB项目考过来的dll放到ProjectA项目Bin文件夹下的某一个文件夹dll,那么我们只要在ProjectA项目属性中=》生成事件=》后期生成事件命令行中添加命令: move /y $(TargetDir)\*.dll $(TargetDir)\dll

TaigetDir项目路径是bin/debug下的。可以点编辑生成后期生成事件来生成。

这样我们就可以把我们编译过后的dll考到我们想要的文件夹下了,不过这种编译的缺点是 要重新编译ProjectA这个项目才行。

 

问题2:

当我们打开两个项目时(ProjectA和ProjectB)都在Debug模式下,这时候,ProjectA已经引用了ProjectB,我们编译ProjectA的时候,就会提示dll被其他进程引用(ProjectB项目开着呢)。

这里网上有人也说了,通过欺骗而绕过Visual Studio的编译。做法如下:

在ProjectB项目中dll的生成路径下,新建一个文件夹 名叫 $(Configuration) 

然后在ProjectB的后期生成事件命令行中添加命令:xcopy /y $(ProjectDir)bin\$(Configuration) "$(ProjectDir)bin\%2$%2(Configuration)\"

把从生成在Bin中的dll拷贝到$(Configuration)文件夹下。

于是我们就可以把原来ProjectA引用ProjectB生成的dll改为引用生成在$(Configuration)文件夹下的dll

这时候ProjectA中的引用路径还是原来的。欺骗了我们的眼镜。

转载于:https://www.cnblogs.com/dingli/archive/2012/02/06/2340596.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值