C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

App.Configファイルについて


(過去ログ 7 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■7353 / inTopicNo.1)  App.Configファイルについて
  
□投稿者/ cona 二等兵(6回)-(2006/10/08(Sun) 00:12:02)

分類:[C#] 


分類:[C#] 

たびたびすいません。
App.Configファイルについていくつかわからないことがあり、
投稿させていただきました。

App.Configファイルは以前のIniファイルのようなものとどこかで聞いたので、
自アプリの設定情報を書き込もうとしてるのですが、どうも使いにくいです。

最初からappSettingsに設定を書き込んでいるなら、ConfigurationManagerクラスで
簡単に読み込むことができますが、プログラムから簡単に書き込むことはできません。
いろいろ調べたところ、
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/Config/
に、構成ファイルに書き込むサンプルがありましたが、XMLファイルと
して編集しています。これが正当なやり方なのでしょうか?

そもそも、appSettingsに自アプリの設定を動的に書き込んでもよいのでしょうか?
別のセクションを作成してそこに書き込まないといけないとか。。。
結局どこに保存し、どうやって編集するのが推奨された方法なのか、わからなくなってしまいました。
どうかよろしくお願いします。


0
引用返信 編集キー/
■7354 / inTopicNo.2)  Re[1]: App.Configファイルについて
□投稿者/ まきなす 二等兵(4回)-(2006/10/08(Sun) 00:49:30)

分類:[C#] 

> App.Configファイルは以前のIniファイルのようなものとどこかで聞いたので、
> 自アプリの設定情報を書き込もうとしてるのですが、どうも使いにくいです。

について
少し違うかもしれませんがC#2.0ならば
Properties.Settings
を使えばどうでしょうか。

Properties.Settings.Default.設定値1 = 0; // 適当な値
のように各値を設定しておいて
Properties.Settings.Default.Save();
で保存できますね。

私はこれで設定を読み込みまたは書き込みしています。

0
引用返信 編集キー/
■7355 / inTopicNo.3)  Re[1]: App.Configファイルについて
□投稿者/ 渋木宏明(ひどり) 二等兵(16回)-(2006/10/08(Sun) 01:31:22)
渋木宏明(ひどり) さんの Web サイト

分類:[C#] 

> そもそも、appSettingsに自アプリの設定を動的に書き込んでもよいのでしょうか?

アプリケーションから頻繁に更新するべきものではないはずです。

そもそも、app.config ファイルがどこに配置されるものかを良く考えてみてください。
通常は実行ファイルと同じディレクトリに配置されているはずです。

ごく私的なツールならともかく、所定の手順に従ってインストールされたアプリケーションの場合、実行ファイルは C:\Program Files 配下のフォルダに実行ファイル(と app.config ファイル)が配置されます。

通常、C:\Program Files 配下のフォルダは一般ユーザによるファイル書き込みが禁止されているため、一般ユーザが起動したアプリケーションから app.config の更新を行おうとすると、保護違反が発生してしまいます。

また、1つの実行ファイルに対して1つの app.config ファイルが対応付けられているため、「ユーザ毎の設定」を保存する場所としてはまったく不適切です。

> 結局どこに保存し、どうやって編集するのが推奨された方法なのか、わからなくなってしまいました。

個人的には、app.config は「全く触らない」か「管理者や保守担当者等が必要に応じて手動で書き換える」べきものだと思います。


0
引用返信 編集キー/
■7356 / inTopicNo.4)  Re[2]: App.Configファイルについて
□投稿者/ επιστημη 中佐(206回)-(2006/10/08(Sun) 02:20:41)
επιστημη さんの Web サイト

分類:[C#] 

> また、1つの実行ファイルに対して1つの app.config ファイルが対応付けられているため、「ユーザ毎の設定」を保存する場所としてはまったく不適切です。

ユーザ毎に変わらない"デフォルト設定"みたいなもんすか。

すんません、トーシロな便乗質問なんすけど、ユーザ毎のconfigってどないにするんが一般的(つか無難/妥当)なんでしょか?


0
引用返信 編集キー/
■7357 / inTopicNo.5)  Re[3]: App.Configファイルについて
□投稿者/ まきなす 二等兵(5回)-(2006/10/08(Sun) 02:47:05)

分類:[C#] 

2006/10/08(Sun) 09:36:54 編集(投稿者)

ちなみに
Properties.Settings.Default.Save();
はスコープをユーザーにした項目はユーザー別のuser.configファイルにデータを保存します。
さらにバージョンも区別されます。

一般的(無難/妥当)かどうかは知りません。

0
引用返信 編集キー/
■7358 / inTopicNo.6)  Re[3]: App.Configファイルについて
□投稿者/ 黒龍 二等兵(16回)-(2006/10/08(Sun) 10:41:59)

分類:[C#] 

No7356に返信(επιστημηさんの記事)
>>また、1つの実行ファイルに対して1つの app.config ファイルが対応付けられているため、「ユーザ毎の設定」を保存する場所としてはまったく不適切です。
>
> ユーザ毎に変わらない"デフォルト設定"みたいなもんすか。
>
> すんません、トーシロな便乗質問なんすけど、ユーザ毎のconfigってどないにするんが一般的(つか無難/妥当)なんでしょか?
>
確かに気になります。
個人的には今まではマイフォルダを使ったり
C:\Documents and Settings\<user>\Application Dataとか
C:\Documents and Settings\<user>\Local Settings\Application Data
以下(こっちはAD環境でサーバに設定が保持されない)に勝手に作ったりしてました。
ベストプラクティスとかあるのかなぁ??

0
引用返信 編集キー/
■7359 / inTopicNo.7)  Re[4]: App.Configファイルについて
□投稿者/ cona 二等兵(8回)-(2006/10/08(Sun) 20:12:33)

分類:[C#] 

みなさん、ありがとうございました。
みなさんのご意見から、app.configファイルを操作するのはよくなさそうですね。

> Properties.Settings.Default.Save();
上の方法で保存できることができました。
しかし、Documents and Settingsフォルダの奥底にできてしまい、
自アプリで考えている「アンインストールはフォルダを削除するだけ」という
ことはできなさそうです。
なんとか、設定ファイルの保存場所を変更できないか、試してみます。



0
引用返信 編集キー/
■7360 / inTopicNo.8)  Re[5]: App.Configファイルについて
□投稿者/ επιστημη 中佐(207回)-(2006/10/08(Sun) 21:41:29)
επιστημη さんの Web サイト

分類:[C#] 

> しかし、Documents and Settingsフォルダの奥底にできてしまい、
> 自アプリで考えている「アンインストールはフォルダを削除するだけ」という
> ことはできなさそうです。
> なんとか、設定ファイルの保存場所を変更できないか、試してみます。

ですね。インストール地点/ユーザ名 ってフォルダができて、そこにconfigを置ければいいわけだろけど。


0
引用返信 編集キー/
■7361 / inTopicNo.9)  Re[3]: App.Configファイルについて
□投稿者/ 渋木宏明(ひどり) 二等兵(17回)-(2006/10/08(Sun) 21:55:02)
渋木宏明(ひどり) さんの Web サイト

分類:[C#] 

> すんません、トーシロな便乗質問なんすけど、ユーザ毎のconfigってどないにするんが一般的(つか無難/妥当)なんでしょか?

この辺

http://www.microsoft.com/japan/winlogo/software/downloads.mspx

で文書化されています。

レジストリやユーザプロファイルに保存するのが妥当です。

ローミングなんかのことも考えると、ユーザプロファイル配下に保存するのがよさそうなんですが、複数起動可能なアプリケーションの場合、設定ファイルの排他処理なんかで頭を悩ましたりはしたくないわけで。。。


0
引用返信 編集キー/
■7362 / inTopicNo.10)  Re[4]: App.Configファイルについて
□投稿者/ 渋木宏明(ひどり) 二等兵(18回)-(2006/10/08(Sun) 21:56:07)
渋木宏明(ひどり) さんの Web サイト

分類:[C#] 

> ちなみに
> Properties.Settings.Default.Save();
> はスコープをユーザーにした項目はユーザー別のuser.configファイルにデータを保存します。
> さらにバージョンも区別されます。

へー、そんな機能があったんですね。
ユーザプロファイルの下に個別設定が保存されるなら、これを使ってもよさそうですね。


0
引用返信 編集キー/
■7363 / inTopicNo.11)  Re[5]: App.Configファイルについて
□投稿者/ 渋木宏明(ひどり) 二等兵(19回)-(2006/10/08(Sun) 21:57:31)
渋木宏明(ひどり) さんの Web サイト

分類:[C#] 

> 自アプリで考えている「アンインストールはフォルダを削除するだけ」という
> ことはできなさそうです。

設定のことまで考えると難しいですね。
アプリケーションフォルダのアクセス権を勝手にいじるのもナニですし。


0
引用返信 編集キー/
■7364 / inTopicNo.12)  Re[4]: App.Configファイルについて
□投稿者/ 中博俊 神(786回)-(2006/10/08(Sun) 22:15:56)
中博俊 さんの Web サイト

分類:[C#] 

まぁ基本はDesigned for Windows XXX を見てもらうとして

C:\Documents and Settings\<user>\Local Settings\Application Data
だったり
C:\Documents and Settings\<user>\Application Data
に、会社名\ソフト名\バージョン\ファイル

みたいに分類しましょう




0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -