Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ";Microsoft.CodeAnalysis.BuildTasks.Csc“;无法从程序集加载任务_C#_Visual Studio_Azure Devops_Azure Pipelines - Fatal编程技术网

C# ";Microsoft.CodeAnalysis.BuildTasks.Csc“;无法从程序集加载任务

C# ";Microsoft.CodeAnalysis.BuildTasks.Csc“;无法从程序集加载任务,c#,visual-studio,azure-devops,azure-pipelines,C#,Visual Studio,Azure Devops,Azure Pipelines,我在TFS online上有一个项目。当我尝试构建项目时,我遇到以下错误: 严重性代码说明项目文件行 错误:无法从程序集C:\Users\Bryan\Source\Workspace\TestProject\ContosUniversity\packages\Microsoft.Net.Compilers.1.0.0\build..\tools\Microsoft.build.Tasks.CodeAnalysis.dll加载“Microsoft.CodeAnalysis.BuildTasks.C

我在TFS online上有一个项目。当我尝试构建项目时,我遇到以下错误:

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


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

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


因此,您需要从TFS中删除文件夹TestProject\ContosoUniversity\packages并重新构建。请参阅:

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

  • 确保您的包不受源代码管理
  • 通过删除包文件夹强制还原所有包
  • 重新启动visual studio

  • 这是给我的解决办法。使用Nuget Package Manager,删除这两个包(如果引用):

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

    之后,运行重建。这确保了生成未尝试使用特定的生成exe。对于与先前版本的差异

    如果您查看参考中的文件,它会将您指向软件包位置。结果是NuGet包被破坏了


    要解决此问题:您只需删除该软件包文件夹(通常在项目名称\项目名称\软件包。下),然后在生成时,Nuget将恢复所有必需的软件包。

    在我的情况下,通过将以下两个Nuget软件包更新为最新版本解决了此问题:

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

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

    我需要在“我的开发”框中更新所有Nuget软件包,然后再次将项目签入TFS


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

    以防以后有人看到

    只有在DevOps中构建时,我才得到这个问题

    但是在本地构建中手动删除包之后,我开始在本地遇到同样的问题。 在使用NuGet manager删除了明显缺失的NuGet之后,该问题在本地和azure上都得到了解决

    不确定是什么引起的,但将来可能会让人头疼


    我使用的是.net 4.7.2

    您是否使用hosted build server来构建项目?您是否尝试在本地计算机上构建项目?您能否在本地获得成功的构建?根据网站上的“托管构建服务器上的软件”,托管构建服务器是使用.NET 4.6 framework部署的。我的解决方案是一个混合环境(慢慢地将我的项目迁移到新的csproj格式,但目前目标是完整的框架)。从未迁移的项目中删除
    Microsoft.Net.Compilers
    程序包修复了生成问题。通过在程序包管理器控制台中执行以下命令,我也成功地卸载了程序包Microsoft.CodeDom.Providers.DotNetCompilerPlatform并卸载了程序包Microsoft.Net.Compiler。我也成功了。我尝试简单地在本地删除包并重建。但它不起作用。按照上面的步骤就成功了。谢谢,需要重新启动。为我工作。谢谢注意:重新启动VS非常重要。没有重启,问题就无法解决。