总是强制引用DLL更新?

时间:2013-05-17 19:57:35

标签: c# visual-studio-2012

我正在研究一种产生一些DLL的解决方案。假设项目A生成A.dll。项目B使用A.dll执行某些功能。

当项目B运行时,它检查输出目录中是否存在A.dll,如果不存在,则从HintPath复制A.dll(据我所知)。但是如果A.dll已经在输出目录中,则不会复制。

因此,如果项目A有更改并且生成了新的A.dll,则在删除输出目录中的副本之前,项目B将不会获取新的A.dll。因此,如果您运行项目B,它将使用旧代码。

有没有办法强制DLL总是被复制?也许在构建项目B之前删除输出目录中的副本?

使用ProjectReference会很容易,但我们使用的其他构建系统不支持它。

1 个答案:

答案 0 :(得分:3)

解决此问题的一种方法是在Project A中制作Post-Build事件。每次在构建项目A时,您都可以告诉它将A.dll复制(或替换)到某个目录。像这样:

copy /Y "$(TargetDir)$(ProjectName).dll" "C:\SomePath"