Tôi đang gặp khó khăn khi cố truy cập phần cấu hình tùy chỉnh trong tập tin cấu hình của mình.Phần cấu hình tùy chỉnh: Không thể tải tập tin hoặc lắp ráp
Tệp cấu hình đang được đọc từ một tệp .dll được tải dưới dạng trình cắm. Tôi đã tạo cấu hình và mã cần thiết bằng cách sử dụng phần bổ trợ Configuration Section Designer VS.
Không gian tên là 'ImportConfiguration'. Lớp ConfigurationSection là 'ImportWorkflows'. Việc lắp ráp là ImportEPDMAddin.
Các xml:
<configSections>
<section name="importWorkflows" type="ImportConfiguration.ImportWorkflows, ImportEPDMAddin"/>
</configSections>
Bất cứ khi nào tôi cố gắng đọc trong cấu hình, tôi nhận được lỗi:
xảy ra lỗi khi tạo phần xử lý cấu hình cho importWorkflows: Không thể tải tập tin hoặc lắp ráp ' ImportEPDMAddin.dll 'hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy các tập tin được chỉ định.
dll sẽ không nằm trong cùng thư mục với tệp thực thi vì phần mềm tải plugin sẽ đặt dll và phụ thuộc vào thư mục riêng của nó. (Tôi không thể kiểm soát đó.)
Tôi chỉnh sửa các mã cho các dụ singleton như sau:
string path = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
path = path.Replace("file:///", "");
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(path);
return configuration.GetSection(ImportWorkflowsSectionName) as ImportConfiguration.ImportWorkflows;
Tôi cũng đã cố gắng sử dụng một NameValueFileSectionHandler đơn giản là tốt, nhưng tôi nhận được một ngoại lệ nói rằng nó không thể tải tập tin hoặc lắp ráp 'Hệ thống'.
Tôi đã đọc nhiều bài đăng trên blog và các bài viết và có vẻ như có thể đọc một tệp cấu hình trong một dll, nhưng tôi không thể làm cho nó hoạt động. Bất kỳ ý tưởng? Cảm ơn.
Bạn có copy 'ImportEPDMAddin.dll.config' đến cùng một vị trí quá? – ephemient
Cấu hình có chắc chắn, vì tôi đã thử sử dụng một DictionarySectionHandler từ một lớp khác và hoạt động. – ehcanadian