Tệp App.Config trong ứng dụng bảng điều khiển C #


92


Tôi có một ứng dụng bảng điều khiển mà tôi muốn viết tên tệp.

Process.Start("blah.bat");

Thông thường, tôi sẽ có một cái gì đó tương tự trong ứng dụng windows bằng cách ghi tên tệp 'blah.bat'vào tệp Cài đặt trong Thuộc tính .
Tuy nhiên, ở đây tôi không tìm thấy bất kỳ tệp Cài đặt nào và tôi đã thêm một app.config cho cùng mục đích.

Tôi không chắc phải viết gì ở đây trong app.config , điều đó sẽ giúp tôi đạt được điều tương tự như trong Windows Forms .

Ví dụ: Trong các biểu mẫu cửa sổ. Process.Start(Properties.Settings.Default.BatchFile);
đâu BatchFilelà một chuỗi trong tệp cài đặt trong Thuộc tính.

Câu trả lời:


213

Bạn có thể thêm tham chiếu đến System.Configurationtrong dự án của mình và sau đó:

using System.Configuration;

sau đó

string sValue = ConfigurationManager.AppSettings["BatchFile"];

với một app.configtệp như thế này:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <appSettings>
       <add key="BatchFile" value="blah.bat" />
   </appSettings>
</configuration>

11
ConfigurationSettings.AppSettings["blah.bat"]có sẵn nhưng đưa ra cảnh báo rằng điều này đã lỗi thời. Khi tôi cố gắng sử dụng ConfigurationManagernhư trên, tôi gặp lỗi nói rằng ConfigurationManager không tồn tại trong ngữ cảnh hiện tại. : - /
user1240679

69
Đảm bảo rằng bạn cũng thêm một tham chiếu đến System.Configuration - usingdurective chỉ hoạt động khi bạn có tham chiếu đến assembly mà bạn đang cố gắng sử dụng.
xxbbcc

1
bình luận cuối nhưng đối với tôi sai lầm của tôi là tôi quên trên bên vỏ 'S' từ appSettings

làm cách nào để lấy int hoặc bool, tức là không phải là một chuỗi?
Zapnologica

1
@Zapnologica Mọi thứ đều là một chuỗi, theo như AppSettingsđược xem xét. Nếu bạn có các chuỗi cài đặt chứa số, bạn sẽ phải phân tích cú pháp chúng bằng cách gọi int.TryParse()hoặc tương tự. Điều tương tự cũng xảy ra với bất kỳ giá trị nào khác mà bạn muốn xử lý một thứ gì đó khác với một chuỗi.
xxbbcc

19

Đối với .NET Core, hãy thêm System.Configuration.ConfigurationManager từ trình quản lý NuGet.
Và đọc appSetting từ App.config

<appSettings>
  <add key="appSetting1" value="1000" />
</appSettings>

Thêm System.Configuration.ConfigurationManager từ NuGet Manager

nhập mô tả hình ảnh ở đây

ConfigurationManager.AppSettings.Get("appSetting1")

2

dùng cái này

System.Configuration.ConfigurationSettings.AppSettings.Get("Keyname")

bạn có thể lưu cấu hình của mình trên appsettion và ví dụ Tìm nạp giá trị sử dụng.
user5705992

1
Cung cấp hỗ trợ cho phiên bản thời gian chạy 1.x. Điều này là lỗi thời bây giờ. Vui lòng sử dụngSystem.Configuration.ConfigurationManager.AppSettings
wp78de 17/08/2016

1
Cấu hình System.Configuration là cần thiết trong tài liệu tham khảo.
Muflix
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.