2009-04-23 14 views
26

展開後にリソースファイルを編集できるようにしたいと考えています。私はこれが可能であることを示唆するthisの記事を読むが、これを可能にするためにどの設定を変更する必要があるのか​​分からないようだ。ASP.NETアプリケーションを再コンパイルせずにリソースファイルを編集する

私はASP.NET 3.5 "Webアプリケーション"にApp_GlobalResourcesフォルダを追加し、このフォルダにリソースファイルを追加しました。私は、このファイルのビルドアクションを変更する必要があると思っていますが、私がビルドアクションを変更しても、上記の機能を達成することはできません。

App_GlobalResourcesフォルダとリソースファイルは、binディレクトリにコピーされます。デプロイされると、.resxファイルの編集内容は表示されません。

アイデア?

+0

これは機能しません。 resxを再コンパイルしないのでしょうか、それとも編集できませんか?それともそこに置くことはできないのですか? – asgerhallas

+0

質問に答えたオリジナルの投稿を更新しました。 – deckerdev

答えて

12

Webアプリケーションプロジェクトは、Webサイトプロジェクトとは異なります。私は、あなたがWebアプリケーションプロジェクトで望むものを達成できるかどうかは疑問です。あなたはこの記事をチェックアウトすることがあります

ASP.NET Web Site or ASP.NET Web Application?

リソースは、一般的に静的であることを意味しています。これらは、プログラムが消費し、存在することに依存できるイメージ、文字列、ファイルなどのアイテムです(したがって、文字列/ RESXファイルの場合は厳密に型指定できます)。リソースを使用する理由は、リソースをDLLにバンドルするだけで、リソースの参照と参照がより簡単になるからです。

実行時に編集可能な場合は、プロジェクトまたはユーザーの設定を使用するか、データベースを使用することができますか? RESXファイルを使用する必要がある場合は、読み書きするコードを記述する必要があります。

+0

Sir、これは非常に良い説明です:) – Dinesh

27

あなたはこれを達成することができ、私はそれをやりました。

プロジェクト内のリソースファイルを選択します。ビルドアクションをコンテンツに変更します。出力ディレクトリにコピー設定がオフになっていることを確認します。プロジェクトを展開すると、App_GlobalResourcesディレクトリと.resxファイルがWebサイトのルートにコピーされます。 .resxファイルを変更すると、ライブサイトで変更が認識されます。

+11

これを行うと、アプリケーションプールがWebアプリケーションでリサイクルされます – Dan

+0

これにはどのような悪影響がありますか? –

+2

簡単に言えば、現在のセッションはすべて終了します。 –

関連する問題