2009-07-28 27 views
9

Tôi muốn chia app.config thành một phần cụ thể của người dùng và một phần ứng dụng cụ thể. Có thể lưu trữ một phần của app.config trong một tệp khác không?Tải các phần của App.Config từ một tệp khác

Tôi allready cố gắng này:

<!DOCTYPE cruisecontrol [<!ENTITY email SYSTEM "email.config">] > 

nhưng điều này không tải.

Có khả năng nào khác mà không thay đổi chính ứng dụng đó không?

Trả lời

26

Bạn có thể sử dụng thuộc tính configSource để yêu cầu khuôn khổ tải một phần cụ thể từ một tệp khác.

Ví dụ, nếu bạn đã có một tập tin cấu hình với một phần như thế này:

<connectionStrings> 
    <add name="MyDatabase" connectionString="...etc..." /> 
</connectionStrings> 

Bạn có thể thay thế nó bằng:

<connectionStrings configSource="ConnectionStrings.config" /> 

... và tạo ra một tập tin ConnectionStrings.config với những nội dung của phần gốc (bao gồm nút <connectionStrings> - chính xác giống như phần mã đầu tiên của tôi ở trên).

+0

Điều này thật tuyệt vời! Tôi đã tìm cách để làm điều này từ rất lâu, và nó đã ở ngay trước mặt tôi suốt thời gian đó. – grimus

+0

Vấn đề là điều này dường như chỉ bao gồm các chuỗi kết nối, nhưng không giúp bạn khi bạn cố gắng bao gồm các phần cấu hình từ các tệp khác. – Kjellski

+1

@Kjellski Tôi có thể đảm bảo với bạn 'configSource' hoạt động cho tất cả các phần tử. Đề nghị bạn đọc về cách thức hoạt động của nó: http://weblogs.asp.net/fmarguerie/archive/2007/04/26/using-configsource-to-split-configuration-files.aspx –

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