====== .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」というサービスがないようで、この問題は発生しませんでした。