【问题标题】:The "Microsoft.CodeAnalysis.BuildTasks.Csc" task could not be loaded from the assembly无法从程序集中加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务
【发布时间】:2016-01-13 23:45:14
【问题描述】:

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

严重性代码描述项目文件行 错误无法从程序集 C:\Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0.0\build..\ 加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务工具\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 有关吗?

【问题讨论】:

  • 您是否使用托管构建服务器来构建项目?您是否尝试在本地计算机上构建项目?你能在本地成功构建吗?根据visualstudio.com/en-us/get-started/build/hosted-agent-pool 网站上的“托管构建服务器上的软件”,托管构建服务器部署了 .NET 4.6 框架。

标签: c# visual-studio azure-devops azure-pipelines


【解决方案1】:

以防以后有人看到这个。

我只是在构建 DevOps 时遇到了这个问题。

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

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

我使用的是 .net 4.7.2

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        在我的情况下,它通过将以下两个 Nuget 包更新到最新版本来解决:

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

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

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

            之后,运行重建。这确保了构建不会尝试使用特定的构建 exe。 Click here 与以前版本的差异

            【讨论】:

            • 我的解决方案是一个混合环境(慢慢地将我的项目迁移到新的 csproj 格式,但现在针对的是完整的框架)。从我的非迁移项目中删除 Microsoft.Net.Compilers 包修复了构建问题。
            • 感谢包管理器控制台中的以下命令也对我有用 Uninstall-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatformUninstall-Package Microsoft.Net.Compilers
            【解决方案7】:

            前段时间我也遇到过同样的问题,要解决它:

            1. 确保您的软件包不受源代码控制
            2. 通过删除包文件夹强制恢复所有包
            3. 重新启动您的视觉工作室

            【讨论】:

            • 它也对我有用。我尝试简单地在本地删除包并重建。但它没有奏效。遵循上述步骤就可以了。谢谢
            • 是的,需要重启。为我工作。谢谢!
            • 注意:重启VS很重要。不重启问题不解决。
            【解决方案8】:

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

            因此,您需要从 TFS 中删除文件夹 TestProject\ContosoUniversity\packages 并重新构建。见:BuildTasks.Csc task could not be loaded from the assembly?

            【讨论】:

              猜你喜欢
              • 2018-02-10
              • 2015-10-15
              • 1970-01-01
              • 2017-12-09
              • 2013-11-25
              • 2023-03-03
              • 2018-12-12
              • 2016-09-11
              相关资源
              最近更新 更多