【问题标题】:Missing model class when build nuget package构建nuget包时缺少模型类
【发布时间】:2017-08-04 06:42:14
【问题描述】:

我在构建 nuget 包时遇到问题。nuget 的引用中缺少一些类。例如:

  • Project1(为此构建 nuget。)
    • Project2(一些模型类)

Project1 对 Project2 的引用。当我为 project1 创建一个 nuget 包时,project2 中的某些类丢失了。我在 TFS 中构建 nuget,构建配置为:

请帮我解决问题。

@Sander Aernouts。我试图构建解决方案,但出现错误。 Project2 不存在。我不知道为什么。如果我只构建project1,它会成功

【问题讨论】:

  • 本地构建project1的结果如何?如何构建解决方案而不是项目?您收到任何错误消息吗?
  • 你可以进入TFS构建代理的工作目录,用MSBuild命令行手动构建project1,看看会得到什么结果。
  • @Cece。构建解决方案时出现错误,您可以检查它。
  • 您是否在存储库中映射了 project2?进入 TFS 构建代理的工作目录,使用 MSBuild 命令行手动构建解决方案,结果如何?

标签: visual-studio tfs nuget tfsbuild nuget-package


【解决方案1】:

在您的屏幕截图中,您似乎只是在构建 .csproj 文件,而不是整个解决方案:

这可能解释了为什么您的项目 2 未构建/包含。请尝试构建整个解决方案,以便 MSBuild 可以按照正确的顺序构建内容。然后,您可以推送一个包并为您的 .csproj 或 .nuspec 文件发布一个 nuget 包。

如果您仍然遇到类似错误,请在 Visual Studio 中打开您的解决方案,右键单击您的解决方案并从上下文菜单中选择 Project Dependencies...。检查Project1 是否有对Project2 的引用,并且构建器是Project2,然后是Project1

【讨论】:

  • @桑德。我添加了另一个屏幕截图,当我构建整个解决方案时,出现错误
  • @nguyenmy。我更新了我的答案,请您验证解决方案中的项目依赖和构建顺序是否正确
  • @桑德。我在VS中构建成功,但是在TFS中它抛出了错误。
  • @nguyenmy 项目依赖项/构建顺序是否也如我添加的屏幕截图所示?如果这些不正确,Project1 可能会在 Project2 之前构建,这将解释您看到的错误。您的项目在本地构建的原因可能有很多。例如,如果您直接引用 project2.dll,则该 DLL 的路径在构建代理上会有所不同。
猜你喜欢
  • 1970-01-01
  • 2015-11-22
  • 2021-11-01
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
  • 2016-12-29
  • 1970-01-01
相关资源
最近更新 更多