MSBuild包含目录中的所有引用

时间:2012-11-09 16:30:56

标签: msbuild

我有一个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。

这可能吗?

1 个答案:

答案 0 :(得分:7)

要包含一个文件夹中的所有项目,只需在参考包含语句中使用通配符:

<Reference Include="C:\Projects\MillinCommon\Trunk\bin\Debug\*.dll" />

您甚至可以使用递归通配符(例如C:\Projects\MillinCommon\Trunk\bin\**\*.dll)来包含文件夹及其所有子文件夹。

有关详细信息,请参阅MSBuild Items - Using Wildcards to Specify Items