2009-01-12 26 views
47

Tôi đã thêm một tham chiếu đến dll lắp ráp log4net vào dự án của tôi.VS2005: Lắp ráp '<assembly>' được chỉ định không chính xác dưới dạng tệp.

Khi tôi xây dựng tôi nhận được một cảnh báo nói:

Warning hội 'Lib \ log4net.dll' là không đúng quy định như một tập tin.

tôi nhìn lên help for this error on MSDN, và nó nói:

Cảnh báo này được tạo ra trong quá ứng dụng thế hệ manifest khi quá trình xây dựng phát hiện rằng một tham chiếu tập tin thực sự là một (quản lý hoặc người bản xứ).

Đây chính xác là những gì tôi đang làm; tham chiếu tệp một hội đồng. Tôi đang nói gì ở đây?

Làm cách nào để thêm tham chiếu vào dll lắp ráp, trong khi không thêm tham chiếu vào dll lắp ráp?

+0

Bạn có thể đăng phần cho tệp Log4Net dll từ tệp .csproj của bạn không? – Millhouse

Trả lời

6

Tôi đã tự mình gặp sự cố này.

Đây là những gì đã hiệu quả đối với tôi:

Tôi đã thêm một hội đồng làm tài liệu tham khảo và là "Tài nguyên hiện có". Xóa tệp khỏi Solution Explorer, đóng, sau đó mở lại dự án đã làm việc.

88

Thử đặt thuộc tính Build Action của DLL nguồn thành Không. Nó giải quyết vấn đề cho chúng tôi.

+1

Chúng ta có log4net.dll ở cấp độ gốc trong dự án WinForms. Tôi đã làm theo lời khuyên của bạn và thiết lập Build Action thành "None". Sau đó, tôi đã thêm tệp dưới dạng tham chiếu và đã có thể xây dựng và xuất bản thành công dự án bằng cách sử dụng ClickOnce. – proudgeekdad

+5

Đối với những người không đến từ đâu -> Nhấp chuột phải vào tập tin dll -> Properties -> Chọn "None" từ menu Build Action. – usefulBee

+1

Điều này làm cho lỗi biến mất, nhưng nó giới thiệu một vấn đề hoàn toàn khác khi triển khai ứng dụng - các tệp có hành động xây dựng 'None' sẽ không được triển khai với phần còn lại của dự án ... –

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