我有一个MSBuild脚本,可以为DLL构建一个类库。
为了构建,我需要包含对几个dll的引用(例如log4net.dll,Elmah.dll等)。
目前,我的构建文件包含每个dll的路径,如下所示:
<Reference Include="C:\Projects\MillinCommon\Trunk\bin\Debug\log4net.dll" />
<Reference Include="C:\Projects\MillinCommon\Trunk\bin\Debug\Elmah.dll" />
<Reference Include="C:\Projects\MillinCommon\Trunk\bin\Debug\Microsoft.Practices.EnterpriseLibrary.Common.dll" />
etc. etc. etc.
然后,在目标中,我有我的CSC: 参考=“@(参考)”
这变得非常乏味。我想要做的是将所有依赖的dll放在文件系统上某个位置的单个目录中,然后传递一个单独的目录引用该目录,MSBuild将使用该目录中包含的dll和所需的dll。
这可能吗?
答案 0 :(得分:7)
要包含一个文件夹中的所有项目,只需在参考包含语句中使用通配符:
<Reference Include="C:\Projects\MillinCommon\Trunk\bin\Debug\*.dll" />
您甚至可以使用递归通配符(例如C:\Projects\MillinCommon\Trunk\bin\**\*.dll
)来包含文件夹及其所有子文件夹。