【问题标题】:Visual Studio Build Definition - How to add additional (dll) files to build?Visual Studio 构建定义 - 如何添加其他 (dll) 文件进行构建?
【发布时间】:2012-01-25 03:17:49
【问题描述】:

我们在团队基础服务器中有一个 asp.net c# 网站。我们的项目包括许多 3rd 方 dll,它们位于所有开发人员的 bin/ 文件夹下。我们正在尝试通过在 tfs 中使用构建定义来调整构建策略。

我们尝试在与开发者计算机不同的服务器上构建项目,但构建失败,因为这些 dll 不存在。

我的问题是;我们如何将这些 dll 用于构建定义?

希望我说清楚了,因为我们显然是 tfs 构建服务的新手 :)

谢谢大家。

【问题讨论】:

    标签: visual-studio-2010 tfs tfsbuild


    【解决方案1】:

    感谢您的回答。实际上,我们对此进行了进一步研究,并找到了如下解决方案:

    • 将 dll 放入 Web 应用程序下的 _bin_deployableAssemblies 文件夹中(此文件夹的名称很重要)
    • 在构建定义的 MSBuild Arguments 部分中,添加 /p:ReferencePath=""

    这解决了问题。再次提前感谢您。

    【讨论】:

    • 添加 /p:ReferencePath="" 为我做了。谢谢
    【解决方案2】:

    您可以 (#1) 使这些 3rd 方 DLL 在执行构建的服务器中可用,或者 (#2) 将它们签入源代码管理。

    这是一个已经发生的讨论过去几次,通常最明智的做法是继续选项 #2。

    以下是 SO 中的一些其他类似问题,可能对您有用:
    How to deal with external assemblies
    Team Build 2010 - Third Party Assembly References not copying to output folder
    Visual Studio Package build and DLLs in private bin path

    【讨论】:

    • 第一个链接坏了。
    【解决方案3】:

    您需要将文件添加到源代码控制存储库中。在我们的解决方案中,我们有一个 \3rd Party 文件夹,其中包含我们的项目引用的所有第 3 方程序集。

    \Main
      \3rd Party
      \Application
      \Modules
      \etc.
    

    【讨论】:

      【解决方案4】:

      关于 Kemal Taşkın 的回应,很好的回答!请注意,有时您需要在使用 /p:ReferencePath=""

      时留下尾随 '\'

      例如: /p:ReferencePath="path\to\commondlls\"

      对于某些版本的 MSBuild.exe,请删除最后一个“\”。

      这也解决了我使用 TFS 2015 MSBuild Task 的 MSBuild Argument 字段的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-25
        相关资源
        最近更新 更多