2015-10-15 109 views
3

我有一个TFS在线项目。当我试图构建该项目时,出现以下错误:无法从程序集中加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务

Severity Code Description Project File Line Error The "Microsoft.CodeAnalysis.BuildTasks.Csc" task could not be loaded from the assembly C:\Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0.0\build..\tools\Microsoft.Build.Tasks.CodeAnalysis.dll. Could not load file or assembly 'file:///C:\Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.Build.Tasks.CodeAnalysis.dll' or one of its dependencies. Could not find the file. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. ContosoUniversity

这个事情与Azure不兼容不支持ASP.NET 4.6吗?

+0

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

回答

7

不,它与Azure Web Apps不支持ASP.NET 4.6无关。实际上,你会得到这个错误信息,因为NuGet包被检入版本控制。

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

2

我较早前有同样的问题,解决它:

  1. 确保你的包不是源代码控制
  2. 力的作用下恢复所有的包,通过删除包文件夹
  3. 重启你的视觉工作室
+0

奇怪的是,这工作。 – MPelletier

9

这是我的修补程序。使用Nuget Package Manager,删除这两个软件包(如果提及):

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

之后,运行重建。这确保了构建没有尝试使用特定的构建EXE。 Click here针对之前版本的差异

+0

我的解决方案是一个混合的环境(慢慢地将我的项目迁移到新的csproj格式,但目前只针对完整的框架)。从我的未迁移项目中删除'Microsoft.Net.Compilers'包修复了构建问题。 –

2

如果您查看参考文件中的文件,它会指向您的包位置。事实证明的NuGet包被打破

来解决:(通常在项目名称\项目名称\包您只需删除该程序包文件夹,然后在构建,的NuGet将恢复所需的所有包。

-1

从解决方案和清洁解决方案中删除软件包文件夹, 如果这也不起作用,请确保关闭visual studio并重新打开,它解决了我的问题。

感谢

0

对我来说,它得到了通过更新空两包的NuGet到最新版本解决:

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