“Microsoft.CodeAnalysis.BuildTasks.Csc"无法从程序集中加载任务
本文关键字:程序 程序集 集中 任务 加载 CodeAnalysis Microsoft BuildTasks Csc quot | 更新日期: 2023-09-27 18:17:48
我有一个关于TFS的在线项目。当我试图构建项目时,我得到以下错误:
严重性代码描述项目文件行错误提示"Microsoft.CodeAnalysis.BuildTasks. exe"。c:' users ' brian ' source ' workspaces 'TestProject' contosoununiversity 'packages'Microsoft.Net.Compilers.1.0.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的公共类。ContosoUniversity
是否与Azure不支持ASP有关?NET 4.6吗?
这是我的修复。使用Nuget包管理器,删除引用的这两个包:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
之后,运行重新构建。这确保了构建不会尝试使用特定的构建exe。点击这里查看与之前版本的差异
不,这与Azure Web应用程序不支持ASP无关。NET 4.6。实际上,您得到这个错误消息是因为NuGet包被签入版本控制。
所以,你需要从TFS中删除文件夹TestProject'ContosoUniversity'packages并重新构建。看到:BuildTasks。无法从程序集中加载Csc任务?
我以前也遇到过同样的问题,为了修复它:
- 确保你的包不在源代码控制之下
- 强制恢复所有包,通过删除包文件夹
- 重新启动visual studio
在我的情况下,通过将以下两个Nuget包更新到最新版本可以解决这个问题:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
删除packages文件夹或其内容,清理,重建为我解决了问题。
如果您查看引用中的文件,它会指向一个包的位置。原来NuGet包坏了
要解析:你只需要删除那个packages文件夹(通常在项目名'项目名' packages.下),然后在构建时,Nuget将恢复所有必需的包。
我需要更新开发盒上的所有Nuget包,然后再次将项目签入TFS。
为了更省心,我删除了Team City构建文件夹中的packages文件夹。
以防以后有人看到。
我只有在DevOps中构建时才会遇到这个问题。
但是在我的本地构建中手动删除包后,我开始在本地得到相同的问题。在使用NuGet管理器删除明显缺失的NuGet后,问题在本地和azure上都解决了。
不知道是什么原因引起的,但可能会避免将来有人头痛。
我使用的是。net 4.7.2