2010-04-06 23 views
6

Tôi đang viết một lớp Điều khiển tùy chỉnh trong C# cho dự án chính của tôi.Vị trí khác nhau của các cụm đã dừng loại đúc

Hiện có 2 dự án, một dự án cho Kiểm soát của tôi và một dự án cho dự án chính của tôi. Hai dự án này nằm trong cùng một giải pháp. Tôi thêm một tham chiếu từ dự án chính của tôi vào dự án Kiểm soát của tôi. Tôi nhận thấy rằng lần đầu tiên sau khi tôi kéo Điều khiển của tôi từ Bảng điều khiển Công cụ lên biểu tượng chính của tôi, một thư mục lắp ráp được tạo ra tại C: \ Users \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies và tên thư mục giống như "jlebh-py01".

Việc xây dựng đầu tiên luôn luôn là OK, nhưng sau khi tôi xây dựng lại lớp kiểm soát của tôi hoặc toàn bộ giải pháp, một thư mục lắp ráp mới sẽ được tạo tại C: \ Users \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies , và sau đó vấn đề phát sinh, kiểm soát của tôi không hoạt động tốt bởi vì Visual Studio nói rằng hai loại "bắt nguồn từ vị trí khác nhau". Thông báo lỗi như sau:

[A] MyControl.TypeXXX không thể truyền tới [B] MyControl.TypeXXX. Loại A orginates từ assemblyXXX tại vị trí 'C: \ Users \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ jlebh-py01 \ MyControl.dll' Loại B originats từ assemblyXXX tại vị trí 'C: \ Users \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ ue4i-z3j01 \ MyControl.dll '

Nếu tôi tham khảo DLL điều khiển trực tiếp thay vì thông qua tham chiếu dự án hoặc không bao giờ xây dựng lại dự án điều khiển sau khi sử dụng Kiểm soát của tôi trong dự án chính, mọi thứ có vẻ ổn.

Có ai biết tại sao không? Đây có phải là cách thích hợp để phát triển một điều khiển và một dự án chính trong cùng một giải pháp?

Trả lời

2

Từ những gì bạn đã giải thích - có vẻ như dự án chính trong giải pháp của bạn không cập nhật tham chiếu đến thư viện điều khiển mà bạn có. Tôi đã làm việc trong ASP.NET ít nhất một vài năm, và đã có vấn đề tương tự với hội đồng tham chiếu, nhưng luôn có một sửa chữa rất đơn giản cho nó - Xây dựng lại dự án chính. Điều này nên làm sạch nó, và sau đó chạy một xây dựng mới.

Một điều bạn có thể thử là thêm phiên bản hội đồng có thể thay đổi vào kiểm soát của bạn. Trong các thuộc tính của dự án, thông tin lắp ráp, hãy thử đặt số phiên bản là 1.0. * Điều này sẽ buộc hai số phiên bản cuối cùng dựa vào ngày và thời gian trong ngày, và mỗi khi bạn xây dựng lại điều khiển, nó sẽ có một số khác nhau phiên bản. Miễn là dự án chính giữ phiên bản cập nhật - mà nó nên - không nên có bất kỳ vấn đề ..

+0

Cảm ơn Artiom. 8^D – smwikipedia

+0

Bạn được chào đón .. Tôi rất vui vì tôi có thể trợ giúp) –

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