【问题标题】:Custom MSBuild task with dependencies具有依赖项的自定义 MSBuild 任务
【发布时间】:2009-10-29 17:37:12
【问题描述】:

我编写了一个使用第三方程序集的 MSBuild 任务。

当我在项目中使用该任务时,MSBuild 抱怨它无法加载第三方程序集(不足为奇)。

我应该将第三方程序集放在哪里,以便 MSBuild 可以使用它们。我尝试向它们添加项目引用但没有成功。

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    我不确定我是否很好地表达了我的问题,但现在我找到了解决方案。

    在我的 .proj 文件中,我使用以下语法引用我的自定义任务...

    <UsingTask AssemblyFile="..\lib\MyCompany.MSBuild\MyCompany.MSBuild.dll" TaskName="CreateDatabase" />
    

    我的 CreateDatabase 任务依赖于各种第 3 方程序集。但是,其中一些仅通过反射引用,因此默认情况下不包含在文件夹“..\lib\MyCompany.MSBuild”中。

    我一直试图通过将所需的程序集放在与调用任务的 .proj 文件相同的目录中来使任务工作。

    但是,我应该做的是将程序集放在引用的任务目录“..\lib\MyCompany.MSBuild\”中。

    简单!

    【讨论】:

      【解决方案2】:

      您可以将它们添加到 GAC(全局程序集缓存)。这仅适用于强命名。

      您还可以确保在项目中添加引用时已将它们标记为 copy local = true。

      【讨论】:

        猜你喜欢
        • 2020-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 2018-05-15
        • 2011-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多