【问题标题】:Referenced Dll's not found in Team Foundation Service (or: nuget packages not available on other pc)在 Team Foundation Service 中找不到引用的 Dll(或:其他 pc 上不可用的 nuget 包)
【发布时间】:2013-05-15 14:26:50
【问题描述】:

当我为 Team Foundation Service 创建构建时,我得到所有类型的引用 dll 未找到异常。

这些引用是由 nugget 包添加的。

我在解决方案中添加了“包还原”选项,该解决方案在 .NuGet 文件夹中添加了 3 个文件。

编辑

当我从另一台电脑上的 TFS 获得解决方案时,我遇到了同样的错误(缺少 dll),所以不仅仅是 TFS 构建服务有问题。

缺少的 dll 是已安装的 nuget 包中缺少的文件(有些是默认 VS 模板的一部分,Unity 是我稍后添加的包),这些(包)是在第一台电脑上添加的,但随后在下一台电脑(这就是我在这个问题的标题中添加“或”的原因)

如何在 pc2 上获取 Nuget 添加的文件?

【问题讨论】:

    标签: tfs nuget tfsbuild


    【解决方案1】:

    我猜您现在已经找到了解决方案。我写这篇文章只是为了回答这个问题。

    要在另一台 PC 上自动下载 NuGet 包,您需要在构建时启用 NuGet 包还原。您可以分两步完成:

    1. 右键单击解决方案并选择启用 NuGet 包还原。 这将添加一个 .nuget 解决方案文件夹,其中包含 NuGet.Config、NuGet.exe 和 NuGet.targets。这些文件实际上应该签入源代码管理,但二进制文件很小。它还将修改解决方案的所有项目中的 MSBuild 脚本,以导入 NuGet.targets 文件以将 NuGet 挂钩到构建过程中。

    2. 在工具 -> 库包管理器 -> 包管理器设置中,确保选中“允许 NuGet 在构建期间下载丢失的包”选项。 这一步必须在所有机器上完成。

    现在,所有项目构建脚本的 BuildDependsOn 属性都应该使 NuGet.targets 中的 RestorePackages 目标启动并在您因缺少引用而出现构建错误之前下载缺少的包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-30
      • 2016-04-16
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      相关资源
      最近更新 更多