2011-11-14 33 views
5

Tôi đang cố gắng biên dịch một ứng dụng mà tôi có giải pháp và không thể vượt qua:'Bạn phải thêm một tham chiếu đến Microsoft.Practices.EnterpriseLibrary.Common' mặc dù hội đồng nằm trong GAC

'Microsoft.Practices.EnterpriseLibrary.Common.Configuration.IConfigurationSource' được định nghĩa trong một hội đồng không được tham chiếu. Bạn phải thêm một tham chiếu để lắp ráp 'Microsoft.Practices.EnterpriseLibrary.Common, Version = 3.1.0.0, Culture = trung tính, PublicKeyToken = b03f5f7f11d50a3a'

Vì vậy, tôi thêm vào lắp ráp vào GAC:

enter image description here

Sau khi một số nghiên cứu tôi đã mở ra visual studio với Fusion Assembly Binding Viewer chạy, mà dường như tạo ra rất nhiều bản ghi nhưng không ai có liên quan đến phiên bản này chính xác của hội đồng (tuy nhiên 4.1.0.0 trong đó).

Tôi không thể chỉ đơn giản thêm -> tham chiếu dưới dạng VS cho tôi biết rằng tham chiếu có cùng tên đã tồn tại.

Tôi nên khám phá những con đường nào khác?

+0

Tại sao bạn không sử dụng EntLib 5.0? – abatishchev

+0

Đây không phải là dự án của tôi, tôi chỉ cần có thể biên dịch nó –

+0

Nếu có tham chiếu hiện tại, hãy thử xóa tham chiếu hiện tại rồi thêm lại. Việc lắp ráp trong GAC sẽ không tạo ra sự khác biệt nào trong thời gian biên dịch. – Justin

Trả lời

1

Bạn đã cố gắng Alias ​​lắp ráp cũng nếu bạn đang sử dụng .net 4.0 bạn sẽ phải có một mục trong tệp .config ví dụ cho thấy tên lắp ráp cũ tham chiếu tên lắp ráp mới. Một số điều khác cần lưu ý .. nếu .DLL nằm trong GAC và bạn không có bản sao của hội đồng đó trong thư mục bin, điều này có thể gây ra vấn đề ..

Địa chỉ này có tham khảo hoặc là mã trên máy từ xa ..? nếu đó là một máy từ xa .. tại sao không thêm cụm công cụ cụ thể đó vào GAC .. hãy chú ý đến sự khác biệt phiên bản của cả hai cụm trong ảnh chụp màn hình của bạn ..

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