2012-11-12 36 views
6

Gần đây tôi đã chuyển giải pháp của mình từ máy dev chính của mình bằng cách sử dụng vs2010 pro sp1 sang máy mới. Các thiết lập được cho là giống nhau ngoại trừ việc nó không xây dựng.xây dựng lỗi, cảnh báo MSB3258

nó lỗi cho như

c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1360,9): cảnh báo MSB3258: Các tài liệu tham khảo tiểu học "C: \ rep \ hms \ trunk \ ikassystemv3 \ ikasDAL \ bin \ Debug \ ikasDAL.dll "không thể giải quyết được vì nó có sự phụ thuộc gián tiếp vào hội đồng .NET Framework" mscorlib, Phiên bản = 4.0.0.0, Văn hóa = trung lập, PublicKeyToken = b77a5c561934e089 "có phiên bản cao hơn" 4.0.0.0 "so với phiên bản" 2.0.0.0 "trong khung mục tiêu hiện tại.

Tuy nhiên tất cả các thư viện được đề cập được đặt để sử dụng khung .net 2 và tôi cần theo cách này hoặc cách khác, nó sẽ phá vỡ nội dung sử dụng chúng.

Tuy nhiên vì một lý do nào đó dường như nghĩ rằng bằng cách nào đó, libs hệ thống .net 2 của tôi bằng cách nào đó đang tham chiếu đến các công cụ .net 4. Tất cả các libs tham chiếu được net 2

Bạn có thể thấy build đầu ra của tôi ở đây

http://tinyurl.com/bnugru4

+0

Điều gì đó cần làm với 'ikasDAL.dll' – codingbiz

+1

Có phải' ikasDAL' là một trong các dự án của bạn không? Nó tham khảo cái gì? –

Trả lời

2

Tôi đã nhìn thấy vấn đề này khi sử dụng một tài liệu tham khảo dự án CopyLocal và thay đổi khuôn khổ mục tiêu (tức là .NET 4 đến 2) trên dự án phụ thuộc (tức là ikasDAL.dll).

Nếu trường hợp đó xảy ra, việc xóa thư mục đầu ra (tức là C: \ rep \ hms \ trunk \ ikassystemv3 \ ikasDAL \ bin \ Debug) và việc xây dựng lại sẽ khắc phục toàn bộ.

+0

Cảm ơn bạn đã thông tin này, mặc dù nó không trực tiếp giúp đỡ, nó đã dẫn tôi đi đúng hướng. Nó bật ra rằng lib lớp DAL của tôi đã tham khảo mysql.data.dll. Đối với một số lý do thiết lập CopyLocal thành true cho lib mysql làm cho tất cả các vấn đề biến mất. – Steed

+0

Điều này có lẽ là do bạn đã cài đặt phiên bản .NET 4 được nhắm mục tiêu của mysql.data.dll trong bộ nhớ cache lắp ráp toàn cục của máy của bạn (chỉ). CopyLocal buộc quá trình xây dựng của bạn phải sử dụng đúng quy trình trong thư mục bin của bạn. – abto

0

Từ nhật ký, có vẻ như ai đó đã viết ikasDAL.dll trong 4.0 vì nó có phụ thuộc vào những thứ như System.Xml.Linq vv không có trong khung 2.0.

Từ tất cả các lần xuất hiện, tôi muốn nói ai đó đặt ikasDAL.dll giả tạo xuống 2.0 mà không nhận ra điều gì tùy thuộc vào. Nếu đây là trường hợp, thì tôi nghĩ bạn có vấn đề lớn hơn.

Hoặc, ikasDAL được đặt thành 4.0 gần đây và bạn đã đặt lại thành 2.0 nhưng không khắc phục được sự phụ thuộc của nó.


Tôi bắt đầu bằng cách làm sạch thủ công tất cả các thư mục bin (về cơ bản sẽ xóa chúng). Sau đó, tôi sẽ xem xét từng dự án riêng lẻ để đảm bảo rằng nó thực sự được đặt thành 2.0. Cuối cùng, tôi sẽ xây dựng từng dự án một cho đến khi tôi gặp vấn đề.

Các vấn đề liên quan