Không thể tải tác vụ BuildTasks.Csc từ assembly?


95

Tôi cảm thấy có lỗi khi hỏi một câu hỏi như thế này quanh đây, nhưng tôi rất bối rối và mong được giúp đỡ.

Một ứng dụng web dạng Proof-of-concept được xây dựng trên một PC và đưa lên repo để tải xuống trên PC khác ở một vị trí khác. Ban đầu có một tính năng tự động tạo được thiết lập trong đó Azure sẽ tự động tạo và xuất bản khi đăng ký, nhưng tính năng đó đã bị loại bỏ. Mọi thứ đang hoạt động ở cả hai phía cho đến khi một bên bao gồm một loạt các thay đổi bị loại trừ. Bây giờ tôi gặp lỗi sau:

Không thể
tải tác vụ "Microsoft.CodeAnalysis.BuildTasks.Csc" từ assembly ... \ package \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Không thể tải tệp hoặc tập hợp 'tệp: /// ... \ package \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy các tập tin được chỉ định. Xác nhận rằng khai báo là chính xác, rằng hợp ngữ và tất cả các phụ thuộc của nó đều khả dụng và tác vụ chứa một lớp công khai triển khai Microsoft.Build.Framework.ITask.

Có ai có bất kỳ đề xuất nào về nơi bắt đầu tìm kiếm vấn đề không?


Hãy thử cách giải quyết này kx.cloudingenium.com/programming/net/…
Pramod Sutar

Câu trả lời:


117

Hóa ra các gói NuGet đã được cam kết vào kho lưu trữ và phá vỡ mọi thứ. Xóa thư mục dự án \ project \ package khỏi kho lưu trữ đã giải quyết được tất cả các vấn đề về bản dựng vì NuGet tự động tìm nạp các gói trên bản dựng.


Đảm bảo rằng bạn bao gồm thư mục gói thực tế trong VSTS, cũng như nội dung ... Tôi chỉ thực hiện nội dung của các gói và gặp lỗi
SteveC

1
Tôi có các gói nuget được cam kết trên tất cả các dự án của mình. Chỉ có một vấn đề là khi bạn muốn thêm chúng vào kiểm soát nguồn, các tệp * .dll là "các mục bị loại trừ" theo mặc định, vì vậy bạn chỉ cam kết các thư mục trống thay vì các cốm của mình. Đó là lý do tại sao ngay cả việc khôi phục nuget cũng không giúp ích được gì, bởi vì các thư mục đã được đặt sẵn, vì vậy nuget nghĩ rằng mọi thứ đều ổn.
Jiří Herník

Tương tự như giải pháp chủ đề có thể được tìm thấy ở đây kx.cloudingenium.com/programming/net/...
Pramod Sutar

Tôi không biết tại sao điều này lại hiệu quả ... Lý do là gì?
Richard Duerr

65

Tôi gặp lỗi này khi tạo một nhánh mới cho dự án của mình.

Nó làm tôi phát điên trong một giờ. Tôi đã thử hầu hết các đề xuất trên internet bao gồm cả câu trả lời được chấp nhận cho câu hỏi này.

Sau đó tôi đóng dự án, mở lại, làm sạch và lỗi đã biến mất. Vì vậy, điều này có nghĩa đây có thể là vấn đề bộ nhớ cache.

Dù sao, chỉ muốn chia sẻ.


6
Cảm ơn! Đối với tôi, đầu tiên đó là thư mục gói. Sau đó, tôi vẫn có lỗi, nhưng khởi động lại VS làm việc :)
dsnunez

35

Tôi cũng đã thử câu trả lời hàng đầu mà không may mắn vì vậy đã xóa nội dung trong thùng rác và gói dir của tôi, đóng và mở lại VS và mọi thứ hiện tốt.


1
Điều này đã giúp tôi. Tôi đã thử chạy một dự án ASP.NET hiện có trong VS 2015 trong Parallels và nó gây cho tôi lỗi ở trên. Xóa các thư mục 'bin' và 'package', khởi động lại VS và một bản dựng sạch đã thực hiện được mẹo!
A3mercury

17

Tôi đã thử tất cả các giải pháp được mô tả trước đây, nhưng không có giải pháp nào hoạt động.

Những gì đã giải quyết nó cho tôi , là cập nhật Microsoft.Net.Compilers từ Trình quản lý gói NuGet


2
Tôi đã gặp vấn đề ngược lại. Tôi đã quá lạc quan và tải xuống phiên bản RC mới nhất. Khi tôi hoàn nguyên về phiên bản ổn định mới nhất, nó vẫn ổn.
Cool Blue,

1
Tôi đã nâng cấp từ 2.8 lên 3.1.1 và nó đã khắc phục được sự cố của tôi. Cảm ơn!
Dan Csharpster

12
  • Nhấp chuột phải vào giải pháp của bạn.
  • Đi tới Quản lý các gói Nuget.
  • Tìm kiếm Microsoft.Net.Compilers.
  • Cài đặt hoặc cập nhật các dự án phụ thuộc khi cần thiết.

6

Xây dựng lại, giải pháp sạch và khởi động lại Visual Studio đã làm việc cho tôi.


1
Có, điều tương tự ở đây, tuy nhiên chỉ khởi động lại VS là không đủ - tôi phải khởi động lại máy tính của mình, sau đó nó đã tốt.
Billious

Khởi động lại máy tính của tôi đã thực hiện thủ thuật. Không chắc liệu tôi có cần thực hiện tất cả các thao tác dọn dẹp và cài đặt lại các gói nuget hay không.
Don Rolling


4

Xóa ba thư mục này sẽ giải quyết được vấn đề.

  • / gói
  • /thùng rác
  • / obj

LƯU Ý : xóa cả / bin và / obj khỏi tất cả các dự án có trong giải pháp (bao gồm cả các dự án Thử nghiệm).


3

Vấn đề ẩn trên TFS, bạn cần xóa thư mục TestProject ... \ gói khỏi TFS, kiểm tra, xóa nó khỏi dir cục bộ của bạn và xây dựng lại. Đã làm việc!


3

Tôi xóa tất cả khỏi thư mục gói và giải pháp xây dựng lại. Nó làm việc cho tôi.


2

Trong trường hợp của tôi: điều này phù hợp với tôi.

Hóa ra đồng đội của tôi đã bắt đầu nghiên cứu phát triển Windows 10 và đã cài đặt Microsoft Build Tools 2015 trên máy của anh ấy.

Tôi đã cài đặt phần mềm từ https://www.microsoft.com/en-us/download/details.aspx?id=48159 và sự cố đã được giải quyết.


2

Sử dụng bước dưới đây:

1) Xóa thư mục gói.
2) đóng cửa studio trực quan.
3) mở dự án và xây dựng lại dự án.


1

Trong trường hợp của tôi, giải pháp là:

Sử dụng Windows Explorer và điều hướng đến đường dẫn vi phạm: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Nhấp chuột phải vào thư mục bin> chọn thuộc tính> Bỏ chọn ReadOnly.


1

Trong trường hợp của tôi, giải pháp là:

  1. Nhấp chuột phải vào Giải pháp.
  2. Đi tới Quản lý Gói Nuget cho Giải pháp này.
  3. Tìm kiếm Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Gỡ cài đặt Gói đã tìm kiếm.
  5. Khởi động lại Visual Studio.


0

Nhấp chuột phải vào Giải pháp. Đi tới Quản lý Gói Nuget cho Giải pháp này. Tìm kiếmMicrosoft.Net.Compilers trên phần Duyệt qua.



0

Trong cộng đồng vs2017 đã xuất hiện một mục mới trong menu "xây dựng". Nó đã biến mất sau khi tôi sử dụng nó và được gọi là một cái gì đó như " Tối ưu hóa các gói xây dựng dự án ". Tôi đã nhấp vào nó và nó đã sửa mọi thứ, chỉ cần khởi động lại, v.v. Tôi đã làm điều đó trên hai máy.

Những gì nó đã làm đã bị xóa Microsoft.net.compilers 2.10.0và thay thế bằngMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

Vậy là xong - tự động hơn ...


0

Dự án của tôi được xây dựng bằng .Net Core 2.2 nhưng tôi đã cài đặt bản xem trước .Net core 3.0. Tôi đã gỡ cài đặt .Net Core 3.0 khỏi hệ thống của mình và xem qua tất cả các thư viện lớp của mình, xóa Microsoft.Net.Compilers 3.0, sau đó xây dựng lại và nó hoạt động.


0

Tôi đã di chuyển giải pháp của mình từ ổ đĩa này sang ổ đĩa khác và không thể sao chép một trong các tệp vì "đang được sử dụng", mà tôi nhấp vào bị bỏ qua, tạo ra lỗi được mô tả trong bài đăng này. Sao chép tệp bị thiếu đã sửa nó theo cách thủ công.

tệp: Microsoft.Build.Tasks.CodeAnalysis.dll Thư mục đích: package \ Microsoft.Net.Compilers.2.1.0 \ tools


0

Đối với tôi, tôi đã cố gắng mở một dự án MVC5 trong VS 2013 và tôi gặp lỗi này, Mở nó trong VS 2017 và nó hoạt động tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.