无法从程序集中加载BuildTasks.Csc任务?


95

我在这里问这样的问题感到内,但我很茫然,不胜感激。

诸如Web应用程序之类的概念验证建在一台PC上,并放在存储库中以在另一位置的另一台PC上下载。最初设置了自动构建功能,Azure将在签入时自动构建和发布功能,但是该功能已删除。事情一直在两端进行,直到一侧包含大量排除的更改。现在,我看到以下错误:

无法
从程序集... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll中加载“ Microsoft.CodeAnalysis.BuildTasks.Csc”任务。无法加载文件或程序集“ file:/// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll”或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项均可用,并且任务包含实现Microsoft.Build.Framework.ITask的公共类。

有人对从哪里开始寻找问题有任何建议吗?


Answers:


117

事实证明,NuGet软件包已提交到存储库并破坏了所有内容。从仓库中删除project \ project \ packages目录可解决所有构建问题,因为NuGet会在构建时自动获取软件包。


确保您在VSTS中包括了实际的packages文件夹及其内容...我只是处理了packages的内容,并得到了错误
SteveC

1
我在所有项目中都提交了nuget包。唯一的问题是,当您要将它们添加到源代码管理时,默认情况下* .dll文件是“排除的项目”,因此您只提交空目录而不是nuget。这就是为什么即使还原nuget也无济于事的原因,因为目录已存在,因此nuget认为一切都很好。
吉日Herník

类似的线程解决方案可以在这里找到kx.cloudingenium.com/programming/net/…–
Pramod

我不知道为什么这行得通...是什么原因?
理查德·杜尔

65

当我为我的项目创建一个新分支时,我得到了这个错误。

它使我疯狂了一个小时。我在互联网上尝试了大多数建议,包括对此问题的公认答案。

然后,我关闭了该项目,再次打开它,将其清理,错误消失了。因此,这可能是缓存问题。

无论如何,只想分享。


6
谢谢!对我来说,首先是package文件夹。然后,我仍然有错误,但是重新启动VS起作用了:)
dsnunez

35

我也没有运气就尝试了最佳答案,所以删除了bin和package dir的内容,关闭并重新打开VS,现在一切都很好。


1
这帮助了我。我尝试在VS 2015中以Parallels运行现有的ASP.NET项目,这给了我上面的错误。删除“ bin”和“ packages”文件夹,重新启动VS和干净的版本就可以了!
A3mercury

17

我已经尝试过上述所有解决方案,但是都没有用。

为我解决的是从NuGet软件包管理器更新Microsoft.Net.Compilers


2
我有相反的问题。我太乐观了,下载了最新的RC版本。当我恢复到最新的稳定版本时,还可以。
酷蓝

1
我从2.8升级到3.1.1,它解决了我的问题。谢谢!
Dan Csharpster

12
  • 右键单击您的解决方案。
  • 转到管理Nuget软件包。
  • 搜索 Microsoft.Net.Compilers
  • 根据需要安装或更新依赖项目。

6

重新生成,清理解决方案并重新启动Visual Studio对我有用。


1
是的,这里也是一样,但是仅重新启动VS是不够的-我必须重新启动计算机,然后一切正常。
Billious

重新启动计算机可以解决问题。不知道我是否需要对nuget软件包进行所有清理和重新安装。
唐·罗兰



3

问题隐藏在TFS上,您需要从TFS删除文件夹TestProject ... \ packages,签入,从本地目录中删除它,然后重新构建。工作了!


3

我从packages文件夹中删除所有文件并重建解决方案。对我有用。




1

就我而言,解决方案是:

使用Windows资源管理器并导航到有问题的路径:C:\ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

右键单击bin文件夹>选择属性>取消选中ReadOnly。


1

就我而言,解决方案是:

  1. 右键单击解决方案。
  2. 转到“管理此解决方案的Nuget程序包”。
  3. 搜索Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  4. 卸载搜索到的软件包。
  5. 重新启动Visual Studio。


0

右键单击解决方案。转到“管理此解决方案的Nuget程序包”。在“浏览”部分中搜索Microsoft.Net.Compilers。



0

在vs2017社区中,“构建”菜单中出现了一个新项目。它在我使用后消失了,被称为“ 优化项目构建包 ”。我单击它,它固定了所有内容,只是重新启动等。我在两台计算机上完成了它。

它所做的被删除Microsoft.net.compilers 2.10.0并替换为Microsoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

所以你去了-更多自动的...


0

我的项目是使用.Net Core 2.2构建的,但是我安装了.Net core 3.0预览。我从系统中卸载了.Net Core 3.0,并遍历了我所有的类库,删除了Microsoft.Net.Compilers 3.0,然后重新构建并开始工作。


0

我将解决方案从一个驱动器移到了另一个驱动器,并且其中一个文件无法复制,因为我单击了“忽略”,对此使用了忽略,从而产生了本文中描述的错误。手动复制丢失的文件将其修复。

文件:Microsoft.Build.Tasks.CodeAnalysis.dll目标目录:packages \ Microsoft.Net.Compilers.2.1.0 \ tools


0

对我来说,我试图在VS 2013中打开一个MVC5项目,但遇到此错误,我在VS 2017中打开了它,然后正常工作了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.