" Microsoft.CodeAnalysis.BuildTasks.Csc"任务无法加载

时间:2015-07-24 21:35:00

标签: azure azure-web-sites visual-studio-2015

我试图将新创建的asp.net 4.6 Web项目发布到Azure Web应用程序并收到以下错误:

remote:D:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.CSharp.targets(316,9):错误MSB4062:" Microsoft.CodeAnalysis.BuildTasks.Csc"无法从程序集D:\ home \ site \ repository \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll加载任务。 无法加载文件或程序集' Microsoft.Build.Utilities.Core,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。系统找不到指定的文件。确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。 [d:\家\站点\库\ Web应用程序\ WebApp.csproj]

通过我本地计算机上的Visual Studio 2015,一切都很好。我认为Azure网络应用程序在发布时都支持VS 2015 RTM,但看起来他们没有安装MSBuild 14.0。是否有解决此问题的解决方案或路线图?

3 个答案:

答案 0 :(得分:14)

这是我的修复。 使用Nuget程序包管理器,如果引用,则删除这两个程序包:

  1. Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  2. Microsoft.Net.Compilers
  3. 之后,运行重建。这确保了构建不会尝试使用特定的构建exe。点击这里查看 Diff against previous revision

答案 1 :(得分:2)

Azure Web Apps尚不支持ASP.NET 4.6。虽然它已经开始了,所以请继续关注。

答案 2 :(得分:2)

在我的情况下,我必须编辑我的.csproj文件,找到下面的行并删除它们

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />

现在一切都很好,