3

我有一个将类库构建到 DLL 的 MSBuild 脚本。

为了构建,我需要包含对几个 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:References="@(Reference)"

这变得相当乏味。我想做的是将所有依赖的 dll 放入文件系统上某个位置的单个目录中,然后传递一个对目录的引用,MSBuild 将使用该目录中包含的所需 dll。

这可能吗?

4

1 回答 1

7

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

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

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

有关详细信息,请参阅MSBuild 项 - 使用通配符指定项

于 2012-11-10T07:16:09.143 回答