ユーザ用ツール

サイト用ツール


lang:dotnet

.NET

プログラミング

アプリケーション用設定ファイル(properties ファイルのようなもの)

プロジェクトに対して「新しい項目の追加」を実行し、「アプリケーション構成ファイル」を選択すると、app.config ファイルがプロジェクトに追加されます。

このファイルに

<appSettings> 
  <add key="keyname" value="anyvalue"/> 
</appSettings> 

を定義しておき、プログラムから

 
System.Configuration.ConfigurationManager.AppSettings["anykey"]; 

で取得します。

国際化(多言語)対応

プロジェクトにアセンブリリソースファイルを追加

(例) 次のアセンブリリソースファイルをプロジェクトに追加します。

 
Message.resx 
Message.ja-JP.resx 
Message.en-US.resx 

内部的に <namespace>.message というクラスが作成されます。

それぞれのリソースファイルにメッセージ等を記述します。

(例)

MSG001=Hello

内部的に

 <data name="MSG001" xml:space="preserve"> 
   <value>Test.</value> 
 </data> 

という記述が追加されます。

次のようなコードを使ってカレントのロケールに対応するメッセージを取得します。

 
System.Resources.ResourceManager rm = null; 
rm = new System.Resources.ResourceManager("<namespace>.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 の設定だけでよいと思われます。)

  <code> 

application/x-ms-application application
text/xml manifest
</code>

  Tomcat の場合、web.xml に次のような記述をしてください。 
  <code xml> 

<mime-mapping>

  <extension> 
      application 
  </extension> 
  <mime-type> 
      application/x-ms-application 
  </mime-type> 

</mime-mapping>
<mime-mapping>

  <extension> 
      manifest 
  </extension> 
  <mime-type> 
      text/xml 
  </mime-type> 

</mime-mapping>
</code>

  • Express Edition で構成マネージャを有効にするための設定

[ツール] - [オプション] で表示されるダイアログで、「すべての設定を表示」をチェックし、[全般] の「ビルド構成の詳細を表示」をチェックしてください。

  この設定をしなかった場合、 
  * デバッグ実行をすると、デバッグ用ビルドを実行。\\ 
  * ソリューションのビルド、またはリビルドを行うと、リリース用ビルドを実行。\\ 
  という動作になるようです。 

実行

  • ローカルにインストールされたオフライン実行可能 .NETクライアントがキャッシュされるディレクトリ

%USERPROFILE%\Local Settings\Apps\2.0

トラブルシューティング

  • 結合ハンドルが無効です。

F5 を押してデバッグを開始しようとすると、「プロジェクトを実行しようとしているときにエラーが発生しました。デバックを開始できません。 結合ハンドルが無効です。」というメッセージが表示される。

  • プロジェクトのプロパティ → デバッグ → デバッガを有効にする → Visual Studio ホスティングプロセスを有効にする のチェックを外す。

Windows のサービスで「Terminal Service」が無効になっていると発生するようです。

  その場合は「Terminal Service」を手動に設定してください。(リブートが必要かもしれません。)\\ 
  Windows 2000 では「Terminal Service」というサービスがないようで、この問題は発生しませんでした。 
   
lang/dotnet.txt · 最終更新: 2016/01/27 09:47 (外部編集)