Visual studio ";GetReferenceNearestTargetFrameworkTask“;找不到任务

Visual studio ";GetReferenceNearestTargetFrameworkTask“;找不到任务,visual-studio,unity3d,visual-studio-2017,Visual Studio,Unity3d,Visual Studio 2017,我在VS2017社区中遇到自动完成问题 以前我在学校有VS 2017 Enterprise,但钥匙过期了,所以我搬到了社区 以前,一切都很好,但现在根本不起作用 我在堆栈溢出上找到了一个解决方案,但它不起作用,所以在GitHub上找到了另一个解决方案 我得到了这个: 生成失败 C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.t

我在VS2017社区中遇到自动完成问题

以前我在学校有VS 2017 Enterprise,但钥匙过期了,所以我搬到了社区

以前,一切都很好,但现在根本不起作用

我在堆栈溢出上找到了一个解决方案,但它不起作用,所以在GitHub上找到了另一个解决方案

我得到了这个:

生成失败

C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1601,5):错误MSB4036: 找不到“GetReferenceNearestTargetFrameworkTask”任务。检查以下各项: 1.)项目文件中的任务名称与任务类的名称相同。 2.)任务类是“公共”的,并实现Microsoft.Build.Framework.ITask接口。 3.)任务在项目文件或位于中的*.tasks文件中正确声明 “C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin”目录。 0个警告 1个错误

时间流逝00:00:00.11


您知道下一步要做什么吗?

按照以下步骤修复该错误。这适用于VS 2017:

修复1

1。从安装Nuget PackageManager

2。重新启动Visual Studio


如果问题仍然存在,请继续下面的操作

修复2

1。下载并再次启动/运行Visual Studio安装程序

2。当Visual Studio安装程序仍在运行时,转到“单个组件”选项卡

3。勾选“代码工具”选项下的“NuGet package manager”复选框

4。单击“安装”进行安装

此位置的屏幕截图:


这将修复您在这个问题中看到的错误。重新启动Visual Studio并测试自动完成功能。如果它不起作用,请查看问题的答案,因为这是一个完全不同的问题。

我收到了相同的错误消息,但问题不同

所以,我使用MSBuild自动化Azure函数的构建/部署过程。在我更新了Visual Studio 2017和Visual Studio Build Tools 2017之前,一切都很正常,在这一点上我开始出现此错误。确切地说,我只有在使用MSBuild时才遇到这个错误,从VS手动构建项目工作正常

在我的情况下,我已经按照@Programmer的答案设置了所有内容。 但当我使用MSBuild时,我还必须安装NuGet目标和构建任务,它们是VisualStudio构建工具的一部分


我正在使用服务器核心上的无头构建服务器,通过安装Chocolate软件包choco install visualstudio2017 workload webbuildtools解决了这一问题:


我在没有VisualStudio 2017的生成环境中看到了msbuild 15.6.82中的这个问题,而该生成环境只有VS生成工具

这里有一个解决这个问题的方法,它几乎与VS安装程序中以前的答案相同,但它是静默的,等待完成

Start Process“C:\Program Files(x86)\Microsoft Visual Studio\Installer\vs_Installer.exe”-ArgumentList“modify--installPath”C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools”-quiet--添加Microsoft.VisualStudio.Component.NuGet.BuildTools--添加Microsoft.Net.Component.4.5.TargetingPack--norestart--force'-Wait--PassThru

我正在报告一位微软技术人员的回答

这通常表示两件事之一:

  • VS安装失败。如果是这种情况,我建议您在VS安装上运行修复
  • GAC中有msbuild程序集。如果是这样的话,请把它们解开

Livar Cunha[MSFT]

在你问题的顶部,你说自动完成不起作用。在底部,你知道你有错误。此时实际发生的是哪一个错误?错误来自:xxxxx_Compile_8f49089d.designtime.log,它是VS 2017的输出,autocomplete因登录错误而无法在VS中工作。如果您遇到此问题,请在我的工作场所投票支持错误报告,我也做了同样的事情,更新了Visual Studio Build Tools 2017。这是针对生成服务器的,未安装Visual Studio 2017本身。只需重新运行构建工具安装程序并添加“NuGet targets and build tasks”组件即可。这是错误消息的实际解决方案。在大多数情况下,您已经从早期版本的Visual Studio或独立版本(从~5 MB)安装了nuget package manager。还请注意,出于某种原因,选择“NuGet Package Manager”而不是“NuGet targets and build tasks”,将尝试在您的磁盘上安装超过900 MB的内存;我只能猜测,它试图预安装一些常见的软件包-有人能确认吗?“targets”选项只有~13 MB。我正在使用Jenkins和从属windows机器,其中我安装了MSbuild工具,没有VS。使用MSbuild工具的GUI安装程序,我安装了上述所有工具,并且所有操作都正常。我按照上述说明安装了MSbuild工具,但是,我在指定位置为C:\BuildTools的文件夹中没有看到nuget.exe。我在该文件夹中搜索了“nuget.exe”,但没有找到它。还可以下载它作为各种选项的在线安装程序-请参阅,例如,关于如何使用它。更好的答案是,它可以在本地安装和构建服务器上工作2可能是最好的选择:)