====== .NET ======
===== プログラミング =====
==== アプリケーション用設定ファイル(properties ファイルのようなもの) ====
プロジェクトに対して「新しい項目の追加」を実行し、「アプリケーション構成ファイル」を選択すると、app.config ファイルがプロジェクトに追加されます。\\
このファイルに
を定義しておき、プログラムから
System.Configuration.ConfigurationManager.AppSettings["anykey"];
で取得します。
===== 国際化(多言語)対応 =====
==== プロジェクトにアセンブリリソースファイルを追加 ====
(例) 次のアセンブリリソースファイルをプロジェクトに追加します。
Message.resx
Message.ja-JP.resx
Message.en-US.resx
内部的に .message というクラスが作成されます。\\
それぞれのリソースファイルにメッセージ等を記述します。\\
(例)\\
MSG001=Hello
内部的に
Test.
という記述が追加されます。\\
次のようなコードを使ってカレントのロケールに対応するメッセージを取得します。
System.Resources.ResourceManager rm = null;
rm = new System.Resources.ResourceManager(".Message", this.GetType().Assembly);
string msg = rm.GetString("MSG001");
※ClickOnce? として発行する時は、アプリケーションファイルに [ja-JP\xxx] が追加の設定になっているかどうか確認してください。
===== プログラミング =====
* 実行中のクラスの namespace を取得。\\
string ns = this.GetType().Namespace;
===== 設定 =====
* ClickOnce? を HTTPサーバにデプロイする時に行う MIME 設定。\\
次の MIME TYPE を設定してください。 (通常は application の設定だけでよいと思われます。)
application/x-ms-application application
text/xml manifest
Tomcat の場合、web.xml に次のような記述をしてください。
application
application/x-ms-application
manifest
text/xml
* Express Edition で構成マネージャを有効にするための設定\\
[ツール] - [オプション] で表示されるダイアログで、「すべての設定を表示」をチェックし、[全般] の「ビルド構成の詳細を表示」をチェックしてください。\\
この設定をしなかった場合、
* デバッグ実行をすると、デバッグ用ビルドを実行。\\
* ソリューションのビルド、またはリビルドを行うと、リリース用ビルドを実行。\\
という動作になるようです。
===== 実行 =====
* ローカルにインストールされたオフライン実行可能 .NETクライアントがキャッシュされるディレクトリ\\
%USERPROFILE%\Local Settings\Apps\2.0
===== トラブルシューティング =====
* 結合ハンドルが無効です。\\
F5 を押してデバッグを開始しようとすると、「プロジェクトを実行しようとしているときにエラーが発生しました。デバックを開始できません。 結合ハンドルが無効です。」というメッセージが表示される。\\
* プロジェクトのプロパティ -> デバッグ -> デバッガを有効にする -> Visual Studio ホスティングプロセスを有効にする のチェックを外す。\\
Windows のサービスで「Terminal Service」が無効になっていると発生するようです。\\
その場合は「Terminal Service」を手動に設定してください。(リブートが必要かもしれません。)\\
Windows 2000 では「Terminal Service」というサービスがないようで、この問題は発生しませんでした。