5

Khi tạo một Visual Studio Add-In, làm thế nào bạn có thể sử dụng một app.config cho bổ trợ. Nếu tôi thêm một dự án và triển khai nó sau đó khi Add-In chạy và tôi lập trình cố gắng truy cập nó thông qua ConfigurationManager.AppSettings, nó sẽ không chọn tệp cấu hình cho bổ trợ.
Tôi có đang làm gì sai hoặc có phương tiện khác để truy cập cài đặt cấu hình dựa trên tệp cho bổ trợ không?Có tệp cấu hình cho Visual Studio Add-In không?

Trả lời

7

ConfigurationManager.AppCài đặt chọn tệp cấu hình cho AppDomain bạn được tải vào. Tệp cấu hình đó thường là tệp được liên kết với điểm thực thi mục nhập. Trong trường hợp của bạn, bạn không kiểm soát được điểm nhập thực thi cũng như AppDomain mà bạn đã chạy để bạn không thể sử dụng ConfigurationManager.AppSettings.

Bạn đặt câu hỏi về cơ bản là "Làm cách nào để có tệp cấu hình được liên kết với DLL?" (C# Dll config file). Bạn cần phải làm hai việc:

  1. Thêm mục cấu hình ứng dụng vào dự án của bạn và đảm bảo bạn triển khai nó vào cùng thư mục với tệp DLL của bạn.
  2. Truy cập tập tin cấu hình từ DLL của bạn sử dụng mã như thế này:

    string pluginAssemblyPath = Assembly.GetExecutingAssembly().Location; 
    Configuration configuration = ConfigurationManager.OpenExeConfiguration(pluginAssemblyPath); 
    string someValue = configuration.AppSettings.Settings["SomeKey"].Value; 
    

Đó chắc chắn sẽ làm việc cho DLL thường xuyên mà không được nạp sử dụng bản sao bóng. Tôi không chắc chắn làm thế nào VS tải plugin của nó. Nếu bạn gặp sự cố, hãy cho tôi biết và tôi có thể đăng một công việc xung quanh cho các tệp DLL được tải qua bản sao ẩn.

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