从 TFS 2015 构建代理运行时,VS .NET Core 项目的 DotNet CLI 构建失败

2024-01-13

Problem

命令dotnet build ...从 TFS 2015 构建代理运行时失败,并出现以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(262,5):错误:对象引用未设置到对象的实例。

C:\Program Files\dotnet\dotnet.execompile-csc @(dotnet-compile.rsp 的路径) 返回退出代码 1


重现步骤

  1. 使用 Visual Studio 2015(工具预览 2)创建 ASP.NET Core 1.0 Web 应用程序。
  2. 将解决方案提交给 TFS 2015 团队项目。
  3. 配置 TFS 2015 Windows 构建代理运行为NT AUTHORITY\NETWORK SERVICE(默认)。
  4. 使用 MSBuild 或 VSBuild 任务触发构建来构建解决方案。
  5. 构建失败并出现上述错误。

环境

  • Windows Server 2012 R2
  • Team Foundation Server 2015 更新 2
  • Visual Studio 2015 社区更新 3
  • Microsoft .NET Core 1.0.0 - SDK 预览版 2 (x64)
  • Microsoft .NET Core 1.0.0 - VS 2015 工具预览 2
  • dotnet --version:1.0.0-预览2-003121
  • TFS 构建代理版本:14.95.25122.0

需要使用分配给生成代理的服务帐户在运行生成代理的计算机上启动一次 Visual Studio。

例如,启动 Visual Studio 作为NT AUTHORITY\NETWORK SERVICE:

psexec -i -u "NT AUTHORITY\NETWORK SERVICE" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"

(PsExec可以下载here https://technet.microsoft.com/en-us/sysinternals/psexec.aspx.)

可以跳过登录 Visual Studio Online。

Visual Studio 启动后,TFS 构建将成功。


Edit 1

经过进一步调查,看来您还需要创建一个新的.NET Core Web 应用程序项目 (File -> New -> Project...)并在 Visual Studio 启动后构建它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 TFS 2015 构建代理运行时,VS .NET Core 项目的 DotNet CLI 构建失败 的相关文章

  • Wix - 自定义安装目录

    我使用的是 Wix 3 x 用户应该能够选择目标目录 我的Setup wxs目前是这样的 http pastebin com uH1EjbDQ http pastebin com uH1EjbDQ 询问用户自定义目标目录的最简单方法是什么
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • .NET UI 元素线程限制的原因

    我们知道 除了实例化元素的线程之外 不可能从任何线程执行操作任何 UI 元素属性的代码 我的问题是 为什么 我记得当我们使用 COM 用户界面元素时 在 COM Visual Basic 6 0 时代 所有 UI 元素都是使用 COM 类和
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 检查应用程序是否从 Visual Studio 调试会话中启动

    我正在开发一个安装系统范围键盘的应用程序 钩 我不想在运行调试时安装这个钩子 从视觉工作室内部构建 否则它会挂起工作室 以及最终的系统 我可以通过检查是否 DEBUG 符号已定义 但是 当我调试时release应用程序的版本是 有一种方法可
  • 根据 VS2008 中的构建配置排除整个文件

    我的项目有三种不同的配置 这三种配置不需要将所有文件构建到应用程序中 实际上 我更希望能够从构建中排除这些文件 这将使我的应用程序更加轻量级 我正在寻找的是 if MYCONFIG or if DEBUG声明但用于文件 我已经读到这可以通过
  • 通过本地项目引用导入 NuGet 引用

    假设我有一个 主 C 项目 它使用 NuGet 来管理其第三方依赖项 现在假设我在主项目旁边创建一个单元测试项目 其中包含主项目作为参考 不幸的是 我似乎需要重新添加通过主项目中的 nuget 包含的依赖项 以便使用它们为单元测试项目中的单
  • 添加 LINQ 的 LongCount 扩展方法是否有实际原因?

    LINQ 有 2 种计算可枚举数的方法 Count and LongCount 实际上 这两者之间的唯一区别是第一个返回一个int 而第二个返回一个long 我不清楚为什么添加第二种方法 它的唯一用例似乎是处理超过 2B 元素的枚举 对我来
  • 捕获特定的 WebException (550)

    假设我创建并执行一个System Net FtpWebRequest 我可以用catch WebException ex 捕获此请求引发的任何与 Web 相关的异常 但是 如果我有一些逻辑只想在由于以下原因引发异常时执行 550 file
  • Visual Studio 空引用警告 - 为什么没有错误?

    我注意到 Visual Studio 的一些特殊之处 首先 尝试在函数中的某个位置键入以下内容 C class Foo public void Bar string s int i s Length 现在 它会立即标记s in s Leng
  • 查找解决方案中所有项目的所有参考

    我的解决方案包含多个项目 例如 P1 P2 在项目依赖中 我将P2设置为依赖于P1 因此P2使用了P1中的一些类 当我对 P1 的类 方法执行 查找所有引用 时 结果仅显示 P1 中出现的情况 不是 P2 中使用的事件 有没有办法让 查找所
  • 如何从 ReadOnlySpan 复制到 Array

    我的班级有一个财产public byte Location get new byte 30 我希望能够从 a 中填充它ReadOnlySpan
  • 将 Xml 反序列化为对象时出错 - xmlns='' 不是预期的

    我在尝试反序列化某些 XML 时遇到了真正的麻烦 希望有人可以提供一些帮助 我读过很多类似的帖子 但我无法解决这个问题 我正在尝试反序列化 XML
  • 为什么即使当我尝试从工作线程更改 UI 时,同步上下文仍为空?为什么即使我不这样做,工作线程也会在 UI 线程上等待?

    我在表单上有一个按钮 点击它我调用FooAsync并在完成时阻止 UI 线程 下面是代码和我的问题 using System using System Diagnostics using System Threading using Sys
  • WPF Datagrid 循环/选择具有特定属性的单元格

    全新的 WPF 对 WinForms 非常熟悉 这可能会让过渡变得更加困难 我正在尝试将旧 WinForms 项目中的一些功能移植到 WPF 中作为学习体验 目标是在 DataGrid 中查找与 TextBox 中的字符串匹配的单元格值 我
  • Quartz 与“反应式扩展”

    我正在寻找 C 的调度库 很长一段时间以来 我认为 唯一 的选择是 Quartz NET 它非常强大并且工作得很好 但是当我发现 Reactive Extensions RX http msdn microsoft com en us da
  • 模拟对象 - 将所有方法声明为虚拟方法还是使用接口?

    与 Java 不同 net 中的方法默认不是虚拟的 为了使用大多数模拟对象框架 您要么必须将要在模拟上使用的方法标记为 真实 对象上的虚拟方法 要么必须有一个可以模拟被测试类将使用的接口接受代替执行 将每个方法标记为虚拟似乎是一种不好的形式
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V

随机推荐