2012-01-01 67 views
15

Có phải giá trị My.Settings được lưu trong chính chương trình hoặc chúng có được lưu trữ trong sổ đăng ký không? Vì vậy, ví dụ, nếu tôi đặt một giá trị My.Settings với một chương trình, sau đó tôi sao chép chính chương trình sang một PC khác - giá trị My.Settings vẫn được đặt?My.Settings được lưu trong VB 2010 .NET ở đâu?

+0

không, nếu đó là cài đặt Người dùng. Chỉ Cài đặt ứng dụng mới có thể đến ứng dụng của bạn. –

Trả lời

29

Tùy thuộc vào số scope bạn đã chọn. Có hai cài đặt phạm vi - Phạm vi ứng dụng và Phạm vi người dùng.

Từ bài viết MSDN:

Cài đặt ứng dụng-scoped được chỉ đọc và được chia sẻ giữa tất cả người dùng của ứng dụng đó. Các cài đặt này được lưu trữ trong tệp app.config trong phần. Vào thời gian chạy, tệp app.config sẽ nằm trong thư mục bin của bạn và sẽ được đặt tên với tên ứng dụng của bạn (MySettingsDemo.exe.config).

Cài đặt phạm vi người dùng dành riêng cho từng người dùng. Họ có thể được đọc và đặt an toàn bằng mã ứng dụng vào thời gian chạy. Các cài đặt này là được lưu trữ trong tệp user.config. Để chính xác về mặt kỹ thuật, có hai user.configs cho mỗi người dùng trên mỗi ứng dụng — một cho người dùng không chuyển vùng và một để chuyển vùng. Mặc dù tài liệu Visual Basic 2005 nêu rõ rằng tệp user.config sẽ được đặt tên theo tên của người dùng (joe.config), đây không phải là trường hợp. Các tập tin user.config được tạo ra trong sự:

<c:\Documents and Settings>\<username>\[LocalSettings\]ApplicationData\<companyname>\<appdomainname>_<eid>_<hash>\<verison>. 
3

Họ chắc chắn không được lưu trữ trong chương trình nếu họ đang Cài đặt người dùng - đó không phải là rất dễ dàng để thực hiện, và khá vô nghĩa. Thay vào đó, chúng được lưu trữ trong một tệp cấu hình trong thư mục% AppData%. Vì vậy, không, nếu bạn đã sao chép chương trình, cài đặt Người dùng sẽ không đi kèm với nó, chỉ là cài đặt Ứng dụng.

2

Nếu bạn đã cài đặt ứng dụng của mình bằng cách nhấp chuột thì MySettings của bạn sẽ được lưu trữ trong tệp cấu hình được lưu trữ tại `C: \ Users \\ AppData \ Local \ Apps \ 2.0 \ Data ........

tìm kiếm trong những con đường với một file có tên như yourapp.exe.config

Vấn đề là MySettings sẽ được lưu trữ trong file app.config của ứng dụng đó và sau khi xuất bản file app.config được lưu dưới ApplicationName. exe.config tệp

3
Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal) 
MessageBox.Show(config.FilePath) 
Các vấn đề liên quan