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

Posted

技术标签:

【中文标题】无法从程序集中加载 BuildTasks.Csc 任务?【英文标题】:BuildTasks.Csc task could not be loaded from the assembly? 【发布时间】:2015-11-15 23:34:08 【问题描述】:

在这里问这样的问题我感到内疚,但我很茫然,希望能得到一些帮助。

类似 Web 应用程序的概念验证是在一台 PC 上构建的,然后放在一个 repo 上,以便在另一台 PC 上的不同位置下载。最初有一个自动构建功能设置,Azure 会在签入时自动构建和发布,但被删除了。事情在两端都在起作用,直到一侧包含大量排除的更改。现在我看到以下错误:

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

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

【问题讨论】:

试试这个解决方案kx.cloudingenium.com/programming/net/… 【参考方案1】:

对我来说,我试图在 VS 2013 中打开一个 MVC5 项目,但我收到了这个错误,在 VS 2017 中打开它并运行得很好。

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

使用以下步骤:

1) 删除包文件夹。 2) 关闭视觉工作室。 3) 打开项目并重建项目。

【讨论】:

【参考方案4】:

我的项目是使用 .Net Core 2.2 构建的,但我安装了 .Net Core 3.0 预览版。我从我的系统中卸载了 .Net Core 3.0 并检查了我所有的类库,删除了 Microsoft.Net.Compilers 3.0,然后重新构建并运行。

【讨论】:

【参考方案5】:

在 vs2017 社区中,“构建”菜单中出现了一个新项目。它在我使用后消失了,被称为“优化项目构建包”。我单击它并修复了所有问题,只需重新启动等。我在两台机器上完成了它。

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

所以你去 - 更自动......

【讨论】:

【参考方案6】:

删除 bin 文件夹对我有用

【讨论】:

【参考方案7】:

就我而言,解决方案是:

    右键单击解决方案。 转到管理此解决方案的 Nuget 包。 搜索Microsoft.CodeDom.Providers.DotNetCompilerPlatform。 卸载搜索到的包。 重新启动 Visual Studio。

【讨论】:

【参考方案8】:

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

【讨论】:

【参考方案9】: 右键单击您的解决方案。 转到管理 Nuget 包。 搜索Microsoft.Net.Compilers。 根据需要安装或更新依赖项目。

【讨论】:

可能值得注意的是,此软件包现已弃用。改用 Microsoft.Net.Compilers.Tools【参考方案10】:

就我而言:这对我有用。

事实证明,我的队友已经开始研究 Windows 10 开发,并在他的机器上安装了 Microsoft Build Tools 2015。

我从https://www.microsoft.com/en-us/download/details.aspx?id=48159安装了软件,问题解决了。

【讨论】:

【参考方案11】:

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

【讨论】:

【参考方案12】:

我刚刚在全新安装的 Windows 10 机器上尝试了这个,但对我来说,问题最终是我没有安装 .NET 3.5 框架。这个 *** 问题有助于解释原因。

Cannot build WIX project on windows 10

【讨论】:

【参考方案13】:

就我而言,解决方案是:

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

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

【讨论】:

【参考方案14】:

重新构建、清理解决方案并重新启动 Visual Studio 对我有用。

【讨论】:

是的,这里也一样,但是仅仅重启 VS 是不够的——我必须重启我的电脑,然后就好了。 重启我的电脑就可以了。不确定我是否需要对 nuget 包进行所有清理和重新安装。【参考方案15】:

我已经尝试过之前描述的所有解决方案,但都没有奏效。

为我解决了这个问题,是从 NuGet 包管理器更新 Microsoft.Net.Compilers

【讨论】:

我遇到了相反的问题。我太乐观了,下载了最新的RC版本。当我恢复到最新的稳定版本时,一切正常。 我从 2.8 升级到 3.1.1,它解决了我的问题。谢谢!【参考方案16】:

删除这三个目录即可解决问题。

/包 /bin /obj

注意:从解决方案中包含的所有项目(包括测试项目)中同时删除 /bin 和 /obj。

【讨论】:

【参考方案17】:

删除包并清理解决方案为我解决了问题。

【讨论】:

【参考方案18】:

我也尝试了最佳答案,但没有运气,所以删除了我的 bin 和 packages 目录的内容,关闭并重新打开 VS,现在一切正常。

【讨论】:

这个帮助了我。我尝试在 Parallels 的 VS 2015 中运行现有的 ASP.NET 项目,它给了我上面的错误。删除“bin”和“packages”文件夹,重新启动 VS 和干净的构建就可以了!【参考方案19】:

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

【讨论】:

【参考方案20】:

为我的项目创建新分支时出现此错误。

这让我发疯了一个小时。我尝试了互联网上的大部分建议,包括这个问题的公认答案。

然后我关闭了项目,再次打开它,清理它并且错误消失了。所以这意味着这可能是缓存问题。

无论如何,只是想分享。

【讨论】:

谢谢!对我来说,首先是包文件夹。然后,我仍然有错误,但重新启动 VS 工作:)【参考方案21】:

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

【讨论】:

确保你在 VSTS 中包含实际的包文件夹,以及内容......我只是做了包的内容,并得到了错误 我的所有项目都提交了 nuget 包。唯一的问题是当您想将它们添加到源代码管理时,*.dll 文件默认是“排除项”,因此您只提交空目录而不是您的 nugets。这就是为什么即使恢复 nuget 也无济于事,因为目录已经到位,所以 nuget 认为一切都很好。 类似的线程解决方案可以在这里找到kx.cloudingenium.com/programming/net/… 我不知道为什么会这样......这是什么原因?

以上是关于无法从程序集中加载 BuildTasks.Csc 任务?的主要内容,如果未能解决你的问题,请参考以下文章

C#:无法从程序集中加载类型

无法从程序集中加载“SlowCheetah.Xdt.TransformXml”任务

Oracle .Net ManagedDataAccess 错误:无法从程序集中加载类型“OracleInternal.Common.ConfigBaseClass”

未能从程序集中加载类

WPF:从当前程序集中动态加载图像

使用 Ninject 和 wpf 从所有程序集中加载模块