Tôi đang cố gắng tham khảo một DLL được quản lý trong dự án .NET của tôi, mà không cần sao chép nó vào thư mục đầu ra của tôi. Vì vậy, khi chương trình của tôi chạy, nó chạy DLL từ vị trí mà nó được cài đặt - ở bất cứ đâu. Vấn đề nằm trong thực tế là DLL được quản lý này gọi các DLL không được quản lý. Khi tôi thử và tham khảo DLL được quản lý, nó sẽ ném một số FileNotFound Exception - Could not load file or assembly 'CharacterGen' or one of its dependencies. The system cannot find file specified
. Khi tôi đặt đầu ra của mình nằm trong cùng thư mục với DLL tôi đang tham chiếu, mọi thứ đều hoạt động tốt. Các giải pháp thông thường sẽ là cũng tham khảo các DLL được gọi là từ bên trong hội đồng khác. Tuy nhiên, tôi không thể tham khảo các assembly không được quản lý từ chương trình quản lý của tôi.Tham chiếu không được quản lý
Có cách nào để tham khảo một DLL được quản lý có gọi là các tệp DLL không được quản lý không?
Bạn có quen thuộc với GAC ..? nếu bạn không muốn sao chép vào thư mục bin sau đó tạo một thư mục riêng biệt nhưng bạn vẫn sẽ cần phải sao chép của .dll vào thư mục đó, giới thiệu chúng vv .. nếu không bạn sẽ phải làm một số mã LoadFromAssebly bằng cách sử dụng đường dẫn tìm kiếm tại sao bạn không muốn chỉ sao chép của .dll vào một vị trí có thể được tham chiếu đúng .. cũng haave bạn nghĩ về việc tạo một trình cài đặt MSI theo cách đó nếu người dùng muốn chạy ứng dụng của bạn/thiết lập nó trong một cấu trúc thư mục khác .. ít nhất họ có thể làm điều đó và các phụ thuộc tham chiếu liên quan sẽ được xử lý .. – MethodMan
Tôi không quá quen thuộc với GAC nhưng từ những gì tôi hiểu, hội đồng phải được ký kết. Tôi không có quyền kiểm soát các DLL tôi đang tham khảo vì vậy tôi không thể xác minh nếu họ đã ký kết hay không. Tôi nghĩ về một trình cài đặt, nhưng tôi không muốn cài đặt vào thư mục hiện có của người dùng vì nó không phải là thư mục của chương trình của tôi, nó là một thư mục tồn tại trên các máy khách của tôi. Đó sẽ là dự phòng của tôi nếu không có gì khác hoạt động. – XSL
GAC không hữu ích khi tham khảo các tệp DLL không được quản lý. – BrainSlugs83