2015-12-23 30 views
7

Tôi đang cố chạy một số mã trong cửa sổ tương tác C# VS2015 sử dụng chuỗi kết nối được lưu trữ trong tệp app.config của dll mà tôi tham chiếu bằng chức năng #r.Truy cập tập tin cấu hình từ cửa sổ tương tác C#

Nếu tôi nhìn vào ConfigurationManager, có một chuỗi kết nối trong đó nhưng nó là một chuỗi khác mà nó phải tham chiếu từ tệp cấu hình khác.

+2

'ConfigurationManager' truy cập vào app.config thực thi hội đồng. Luôn thêm các chuỗi kết nối mà ứng dụng của bạn truy cập vào app.config của assembly thực thi. – Marshal

Trả lời

0

Nếu những gì bạn muốn là tải cấu hình một cách rõ ràng cho một hội đồng cụ thể và truy cập rõ ràng nó, bạn có thể sử dụng OpenExeConfiguration method của ConfigurationManager class.

Hãy lắp ráp test.dll với tập tin cấu hình test.dll.config này:

<configuration> 
    <connectionStrings> 
    <add 
     name="MyConnectionString" 
     connectionString="my connection string" 
     providerName="System.Data.SqlClient" 
    /> 
    </connectionStrings> 
</configuration> 

Bạn cam tải các tập tin cấu hình như thế này:

> #r "c:\temp\test.dll" 
> #r "System.Configuration" 
> using System.Configuration; 
> ConfigurationManager.OpenExeConfiguration(@"c:\temp\test.dll").ConnectionStrings.ConnectionStrings["MyConnectionString"].ConnectionString 
"my connection string" 
+0

Đó là các chi tiết cấu hình nhưng nó không hợp nhất với các cài đặt cấu hình mã mà tôi gọi là tham chiếu. Tôi cần phải hợp nhất các thiết lập cấu hình với các cài đặt của assembly thực thi hoặc tôi cần chỉnh sửa tập tin cấu hình mà Roslyn đang sử dụng. Không chắc chắn nơi đó là mặc dù ... –

+0

"Roslyn" không có gì để làm với. "Roslyn" là trình biên dịch và tải cấu hình là một tính năng thời gian chạy. –

+0

Đó là lý do tại sao tôi nói rõ ràng. Bạn có thể thử tiêm cấu hình từ tập tin đó vào vùng chứa được tải xuống 'System.Configuration.ConfigurationManager.GetSection (" yoursection ")'. Nhưng điều đó sẽ không hoạt động nếu cấu hình đó chỉ đọc. Hoặc bạn có thể lấy csi.exe và csi.exe.config và thêm cấu hình của bạn vào nó. –

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