23

我有一个在线 TFS 上的项目。当我尝试构建项目时,出现以下错误:

严重性代码说明项目文件行错误无法从程序集 C:\Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0 加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务。 0\build..\tools\Microsoft.Build.Tasks.CodeAnalysis.dll。无法加载文件或程序集 'file:///C:\Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.Build.Tasks.CodeAnalysis.dll ' 或其依赖项之一。找不到文件。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。康托索大学

这与 Azure 不支持 ASP.NET 4.6 有关吗?

4

8 回答 8

34

这是我的解决方法。使用 Nuget 包管理器,删除这两个包(如果引用):

Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers

之后,运行重建。这确保了构建不会尝试使用特定的构建 exe。单击此处查看与先前版本的差异

于 2016-11-22T09:41:39.290 回答
11

不,这与 Azure Web Apps 不支持 ASP.NET 4.6 无关。实际上,您会收到此错误消息,因为 NuGet 包已签入版本控制。

因此,您需要从 TFS 中删除文件夹 TestProject\ContosoUniversity\packages 并重新构建。请参阅:无法从程序集中加载 BuildTasks.Csc 任务?

于 2015-11-04T05:55:12.983 回答
8

前段时间我有同样的问题,要解决它:

  1. 确保您的软件包不受源代码控制
  2. 通过删除包文件夹强制恢复所有包
  3. 重新启动你的视觉工作室
于 2016-11-18T11:08:38.480 回答
5

就我而言,它通过将以下两个 Nuget 包更新到最新版本来解决:

Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
于 2017-11-09T09:54:08.013 回答
4

删除包文件夹或其内容,清理,重建为我解决了问题。

于 2018-05-31T03:53:41.703 回答
3

如果您查看参考文件,它会将您指向一个包位置。原来NuGet包坏了

解决:您只需删除该包文件夹(通常在项目名称\项目名称\包。),然后在构建时,Nuget 将恢复所有需要的包。

于 2017-08-31T20:34:09.547 回答
0

我需要更新我的开发箱上的所有 Nuget 包,然后再次将项目签入 TFS。

为了更加安心,我删除了 Team City 构建文件夹中的 packages 文件夹。

于 2019-01-21T11:09:29.450 回答
0

以防以后有人看到这个。

我只有在构建 DevOps 时才遇到这个问题。

但是在我的本地构建中手动删除包后,我开始在本地遇到同样的问题。使用 NuGet 管理器删除明显丢失的 NuGet 后,问题在本地和天蓝色上自行解决。

不知道是什么原因造成的,但将来可能会让人头疼。

我使用的是 .net 4.7.2

于 2020-04-20T11:47:41.617 回答