Tôi đã tạo một GUI nhỏ để quản trị một số cài đặt trong tệp app.config. GUI được phát hành như là một phần của sản phẩm của tôi, làm cho nó có thể thay đổi giá trị trong tệp app.config, mà không cần mở nó trong trình soạn thảo văn bản.Tránh thông tin phiên bản cụ thể trong configSection trong app.config
Các thuộc tính được triển khai trong một configSection tùy chỉnh, làm cho nó được nhập mạnh mẽ trong mã. Vấn đề của tôi là, khi file app.config được cập nhật (khi tôi tiết kiệm từ GUI), tên đầy đủ của lắp ráp của tôi được viết trong configSection như thế này:
<section name="ConfigurationSettings" type="PerformanceDude.MSBuildShellExtension.Common.ConfigurationSettings, Common, Version=2.2.1.0, Culture=neutral, PublicKeyToken=1ab1b15115e63xxx" />
Khi tôi nâng cấp lắp ráp này để một số phiên bản mới, phiên bản lắp ráp mã GUI không còn khớp với tham chiếu lắp ráp trong app.config.
Đây là cách tôi tải các cài đặt:
var config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() { ExeConfigFilename = ConfigFilePath }, ConfigurationUserLevel.None);
var settings = Config.GetSection("ConfigurationSettings") as ConfigurationSettings;
Đây là cách tôi lưu các thiết lập:
config.Save(ConfigurationSaveMode.Minimal, true);
Tôi không muốn viết một kịch bản nâng cấp thay đổi phiên bản everytime tôi cập nhật . Có ai biết một giải pháp tuyệt vời cho vấn đề này?
Có thể bao gồm mã bạn sử dụng để tuần tự hóa và lưu cấu hình không? – dash
Tải và lưu mã hiện có trong phần mô tả :) – ThomasArdal
Bạn đã bao giờ tìm ra giải pháp cho điều này chưa? – Zoomzoom