6

我有以下项目结构:

SLN
    libA
    libB (references libA)
    exeWPF (references libA and libB)

我使用 NAnt 通过 csc 编译 libA 和 libB,但我无法将 csc 用于 WPF 项目,XAML 目标无法使用 NAnt 编译,因此我在 NAnt 项目中使用了 MSBuild 任务。

问题是,当我启动一个完整的构建时,libA 和 libB 已经由 NAnt,然后在启动 MSBuild 任务时,再次libA编译和libB库,因为csproj 文件引用了 libA 和 libB 项目。exeWPF

另一种方法是引用libAlibB作为项目,我可以将它们作为exeWPFcsproj 文件中的 dll 引用。问题是,在这种情况下,我丢失了代码并导航到参考。

我的解决方案是能够从 MSBuild 任务中指定对 MsBuild 项目的引用。

4

1 回答 1

9

你可以像这样构建你的exeWPF项目

msbuild exeWPF.csproj /p:BuildProjectReferences=false

属性 BuildProjectReferences 将阻止 MSBuild 构建引用,它将被迫使用预构建的程序集来提取引用的元数据,如果引用的程序集不存在,它将失败。

于 2013-02-12T16:17:54.090 回答