引用dll以及何时将Copy Local设置为true

时间:2015-01-06 10:10:16

标签: c# .net visual-studio

我有几个单独的项目(彼此无关),所有项目都引用了我创建的dll,我们称之为MyDll。

我已经读过,默认情况下,每个引用我的dll的项目都会将Copy Local设置为true。所以每个项目都有自己的MyDll副本。

如果我重建MyDll会发生什么,所有这些副本都会更新,还是我需要重新添加引用?

将MyDll放在我所有项目都引用此文件的地方或者这个想法不明智是否有意义?

2 个答案:

答案 0 :(得分:1)

您可以在常用dll的Post-Build事件(Project-> Properties-> BuildEvents)中添加内容。例如,您可以调用批处理文件,该文件随时依赖于dll

的项目的所有输出文件夹进行更新
if /I "$(ConfigurationName)" == "Release" 
         Call $(SolutionDir)\distribute_library.cmd $(TargetPath) 

(只有一行,为了便于阅读而在这里分开)

其中distribute_library.cmd是批处理文件,其中包含将$(TargetPath)复制到各个目的地的命令。

这样的事情:

D:
COPY %1 \MyProject1\bin\release
....other targets ....

不要忘记:将Run the post-build event组合设为On Successful build

答案 1 :(得分:0)

Copy Local是项目中使用.dll的引用属性。 在构建项目时,完成将引用程序集复制到输出文件夹的过程。 如果引用的路径设置为项目的输出文件夹,则需要重建项目。