2015-10-15 112 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