ไม่สามารถโหลดงาน BuildTasks.Csc จากแอสเซมบลี?


97

ฉันรู้สึกผิดที่ถามคำถามแบบนี้ที่นี่ แต่ฉันรู้สึกไม่ดีและขอขอบคุณสำหรับความช่วยเหลือ

การพิสูจน์แนวคิดเช่นเว็บแอปพลิเคชันถูกสร้างขึ้นบนพีซีเครื่องหนึ่งและวางไว้บน repo เพื่อดาวน์โหลดบนพีซีเครื่องอื่นในสถานที่อื่น เดิมมีการตั้งค่าคุณลักษณะสร้างอัตโนมัติโดยที่ Azure จะสร้างและเผยแพร่โดยอัตโนมัติเมื่อเช็คอิน แต่จะถูกลบออกไป สิ่งต่าง ๆ กำลังดำเนินการทั้งสองด้านจนกระทั่งด้านหนึ่งมีการเปลี่ยนแปลงที่ยกเว้นจำนวนมาก ตอนนี้ฉันพบข้อผิดพลาดต่อไปนี้:

ไม่สามารถ
โหลดงาน "Microsoft.CodeAnalysis.BuildTasks.Csc" จากแอสเซมบลี ... \ package \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll ไม่สามารถโหลดไฟล์หรือไฟล์แอสเซมบลี 'file: /// ... \ package \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' หรือการอ้างอิงอย่างใดอย่างหนึ่ง ระบบไม่พบแฟ้มที่ระบุ. ยืนยันว่าการประกาศนั้นถูกต้องแอสเซมบลีและการอ้างอิงทั้งหมดพร้อมใช้งานและงานมีคลาสสาธารณะที่ใช้ Microsoft.Build.Framework.ITask

ใครมีคำแนะนำว่าจะเริ่มค้นหาปัญหาได้ที่ไหน?


ลองใช้วิธีแก้นี้kx.cloudingenium.com/programming/net/…
Pramod Sutar

คำตอบ:


118

ปรากฎว่าแพ็คเกจ NuGet มุ่งมั่นกับพื้นที่เก็บข้อมูลและทำลายทุกอย่าง การลบไดเร็กทอรี project \ project \ package จาก repo ช่วยแก้ปัญหาการสร้างทั้งหมดเนื่องจาก NuGet ดึงแพ็คเกจโดยอัตโนมัติในบิลด์


ตรวจสอบให้แน่ใจว่าคุณรวมโฟลเดอร์แพ็คเกจจริงใน VSTS รวมถึงเนื้อหา ... ฉันทำแค่เนื้อหาของแพ็คเกจและได้รับข้อผิดพลาด
SteveC

1
ฉันมีแพ็กเกจที่มุ่งมั่นในโครงการทั้งหมดของฉัน ปัญหาเดียวคือเมื่อคุณต้องการเพิ่มลงในตัวควบคุมแหล่งที่มาไฟล์ * .dll จะเป็น "รายการที่ยกเว้น" ตามค่าเริ่มต้นดังนั้นคุณจะคอมมิตเฉพาะไดเร็กทอรีว่างแทนนักเก็ต นั่นเป็นเหตุผลว่าทำไมแม้แต่การกู้คืน nuget ก็ไม่ได้ช่วยอะไรเพราะไดเรกทอรีอยู่ในตำแหน่งดังนั้นนักคิดจึงคิดว่าทุกอย่างเรียบร้อยดี
JiříHerník

วิธีแก้ด้ายคล้ายกันได้ที่นี่kx.cloudingenium.com/programming/net/…
Pramod Sutar

ฉันไม่รู้ว่าทำไมถึงได้ผล ... อะไรคือเหตุผล?
Richard Duerr

65

ฉันได้รับข้อผิดพลาดนี้เมื่อฉันสร้างสาขาใหม่สำหรับโครงการของฉัน

มันทำให้ฉันคลั่งไคล้เป็นเวลาหนึ่งชั่วโมง ฉันลองทำตามคำแนะนำส่วนใหญ่ทางอินเทอร์เน็ตรวมถึงคำตอบที่ยอมรับสำหรับคำถามนี้

จากนั้นฉันก็ปิดโครงการเปิดอีกครั้งทำความสะอาดและข้อผิดพลาดก็หายไป นั่นหมายความว่านี่อาจเป็นปัญหาแคช

อย่างไรก็ตามเพียงแค่อยากจะแบ่งปัน


6
ขอบคุณ! สำหรับฉันอันดับแรกคือโฟลเดอร์แพ็คเกจ จากนั้นฉันยังคงพบข้อผิดพลาด แต่การรีสตาร์ท VS ใช้งานได้ :)
dsnunez

35

ฉันก็ลองคำตอบยอดนิยมเช่นกันโดยไม่โชคดีดังนั้นจึงลบเนื้อหาในถังขยะและแพ็คเกจของฉันปิดและเปิด VS ใหม่และตอนนี้ทุกอย่างเรียบร้อยดี


1
อันนี้ช่วยหน่อย ฉันพยายามเรียกใช้โครงการ ASP.NET ที่มีอยู่ใน VS 2015 ใน Parallels และทำให้ฉันมีข้อผิดพลาดข้างต้น การลบโฟลเดอร์ 'bin' และ 'package' การรีสตาร์ท VS และการสร้างใหม่ทั้งหมดได้เคล็ดลับ!
A3mercury

18

ฉันได้ลองวิธีแก้ปัญหาทั้งหมดที่อธิบายไว้ก่อนหน้านี้แล้ว แต่ไม่มีวิธีใดได้ผล

สิ่งที่แก้ไขได้สำหรับฉันคือการอัปเดต Microsoft.Net.Compilersจาก NuGet Package Manager


2
ฉันมีปัญหาตรงกันข้าม ฉันมองโลกในแง่ดีเกินไปและดาวน์โหลด RC เวอร์ชันล่าสุด เมื่อฉันเปลี่ยนกลับเป็นเวอร์ชันเสถียรล่าสุดมันก็โอเค
Cool Blue

1
ฉันอัปเกรดจาก 2.8 เป็น 3.1.1 และแก้ไขปัญหาของฉันได้ ขอบคุณ!
Dan Csharpster

14
  • คลิกขวาที่โซลูชันของคุณ
  • ไปที่จัดการแพ็คเกจ Nuget
  • ค้นหาMicrosoft.Net.Compilers.
  • ติดตั้งหรืออัปเดตโครงการที่เกี่ยวข้องตามความจำเป็น

6

สร้างใหม่แก้ไขโซลูชันและรีสตาร์ท Visual Studio ทำงานให้ฉัน


1
ใช่เหมือนกันที่นี่ แต่การรีสตาร์ท VS ไม่เพียงพอ - ฉันต้องรีสตาร์ทคอมพิวเตอร์แล้วมันก็มาดี
Billious

การรีสตาร์ทคอมพิวเตอร์เป็นการหลอกลวง ไม่แน่ใจว่าต้องทำความสะอาดและติดตั้งแพ็คเกจ nuget ใหม่ทั้งหมดหรือไม่
Don Rolling


4

การลบไดเรกทอรีทั้งสามนี้จะช่วยแก้ปัญหาได้

  • / แพ็คเกจ
  • / bin
  • / obj

หมายเหตุ : ลบทั้ง / bin และ / obj จากโปรเจ็กต์ทั้งหมดที่รวมอยู่ในโซลูชัน (รวมถึงโปรเจ็กต์ทดสอบ)


3

ปัญหาซ่อนอยู่ใน TFS คุณต้องลบโฟลเดอร์ TestProject ... \ แพ็คเกจออกจาก TFS เช็คอินลบออกจาก dir ในพื้นที่ของคุณและสร้างอีกครั้ง ทำงานแล้ว!


3

ฉันลบทั้งหมดออกจากโฟลเดอร์แพ็คเกจและสร้างโซลูชันใหม่ มันได้ผลสำหรับฉัน



2

ในกรณีของฉัน: สิ่งนี้ใช้ได้กับฉัน

ปรากฎว่าเพื่อนร่วมทีมของฉันเริ่มมองหาการพัฒนา Windows 10 แล้วและได้ติดตั้ง Microsoft Build Tools 2015 ไว้ในเครื่องของเขา

ฉันติดตั้งซอฟต์แวร์จากhttps://www.microsoft.com/en-us/download/details.aspx?id=48159และปัญหาได้รับการแก้ไขแล้ว


1

ในกรณีของฉันวิธีแก้ปัญหาคือ:

ใช้ Windows Explorer และไปที่เส้นทางที่ละเมิด: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

คลิกขวาที่โฟลเดอร์ bin> เลือกคุณสมบัติ> ยกเลิกการเลือก ReadOnly


1

ในกรณีของฉันวิธีแก้ปัญหาคือ:

  1. คลิกขวาที่โซลูชัน
  2. ไปที่จัดการแพ็คเกจ Nuget สำหรับโซลูชันนี้
  3. ค้นหาMicrosoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. ถอนการติดตั้งแพ็คเกจที่ค้นหา
  5. รีสตาร์ท Visual Studio

0

ฉันเพิ่งลองสิ่งนี้กับการติดตั้งเครื่อง Windows 10 ใหม่ทั้งหมดและปัญหาสำหรับฉันก็คือฉันไม่ได้ติดตั้ง. NET 3.5 framework คำถาม stackoverflow นี้ช่วยอธิบายว่าทำไม

ไม่สามารถสร้างโครงการ WIX บน windows 10


0

คลิกขวาที่โซลูชัน ไปที่จัดการแพ็คเกจ Nuget สำหรับโซลูชันนี้ ค้นหา Microsoft.Net.Compilers ในส่วนการเรียกดู



0

ในชุมชนเทียบกับ 2017 มีรายการใหม่ในเมนู "สร้าง" มันหายไปหลังจากที่ฉันใช้มันและเรียกว่า " Optimize project build package " ฉันคลิกมันและแก้ไขทุกอย่างเพียงรีสตาร์ท ฯลฯ ฉันทำในสองเครื่อง

สิ่งที่ทำก็ถูกลบออกMicrosoft.net.compilers 2.10.0และแทนที่ด้วยMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

เอาล่ะ - อัตโนมัติมากขึ้น ...


0

โปรเจ็กต์ของฉันสร้างด้วย. Net Core 2.2 แต่ฉันติดตั้งตัวอย่าง. Net core 3.0 แล้ว ฉันถอนการติดตั้ง. Net Core 3.0 จากระบบของฉันและไปยังไลบรารีคลาสทั้งหมดของฉันโดยลบ Microsoft.Net.Compilers 3.0 จากนั้นสร้างใหม่และใช้งานได้


0

ฉันย้ายโซลูชันจากไดรฟ์หนึ่งไปยังอีกไดรฟ์หนึ่งและไม่สามารถคัดลอกไฟล์ใดไฟล์หนึ่งได้เนื่องจาก "ใช้งานอยู่" ซึ่งฉันคลิกละเว้นทำให้เกิดข้อผิดพลาดที่อธิบายไว้ในโพสต์นี้ การคัดลอกไฟล์ที่หายไปแก้ไขได้ด้วยตนเอง

ไฟล์: Microsoft.Build.Tasks.CodeAnalysis.dll ไดเร็กทอรีปลายทาง: package \ Microsoft.Net.Compilers.2.1.0 \ tools


0

สำหรับฉันฉันพยายามเปิดโครงการ MVC5 ใน VS 2013 และฉันได้รับข้อผิดพลาดนี้เปิดใน VS 2017 และใช้งานได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.