【问题标题】:Problems Building .Net Core on TFS在 TFS 上构建 .Net Core 的问题
【发布时间】:2016-10-18 13:51:09
【问题描述】:

我有一个包含多个 .Net Core 项目的解决方案,其中一些项目依赖于同一解决方案中的其他项目。整个解决方案托管在本地 TFS 服务器的 Git 存储库中。

我想在 TFS 服务器上设置一个自动构建过程。由于缺乏更好的知识,我使用 Visual Studio 构建模板并将所有设置保留为默认值。当我运行构建过程时,它在“构建解决方案”步骤中失败并显示错误消息

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(262,5): 错误:MyProject 项目没有锁定文件。

请运行“dotnet restore”以生成新的锁定文件。 [C:\TFSBuildAgent_work\6\s\MyProject\MyProject.xproj]


所以我继续创建一个 PowerShell 脚本,其中包含我在“构建解决方案”之前但在“Nuget 还原”之后运行的内容 dotnet restore。这也失败了,这次是在“Dotnet restore”步骤中出现错误消息

C:\TFSBuildAgent_work\6\s\MyProject\project.json 中的错误

无法解析“.NETFramework,Version=v4.6.1”的“ProjectDependency (>= 1.0.0)”。


当我在本地计算机上运行 dotnet restore 时,它可以顺利完成。

非常感谢任何帮助或提示!

【问题讨论】:

  • 如果您的解决方案中有多个项目,您需要为每个项目运行dotnet restore。另外,尝试删除本地计算机上的 project.json.lock 文件并重新运行 dotnet restore 以进行测试。两台机器上是否安装了相同的 .NET 和 .NET Core 框架版本?
  • dotnet --info 为两台机器上的 CLI 工具提供 1.0.0-preview2-003131,.Net 框架版本也相同。 dotnet restore 进入所有子文件夹。我删除了.lock.json 文件,dotnet restore 在我的本地机器上仍然有效。
  • 你可以通过dotnet --verbose restore...得到更详细的输出
  • 我现在帮助自己打包项目依赖项并将其上传到我的内部包服务器。然后dotnet restore 将从服务器中提取它并构建整个项目。不是最好的方法,但至少它是有效的。

标签: tfs continuous-integration .net-core


【解决方案1】:

我现在帮助自己打包项目依赖项并将其上传到我的内部包服务器。然后dotnet restore 将从服务器中提取它并构建整个项目。不是最好的方法,但至少它是有效的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 2021-09-25
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    • 2018-05-31
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多