問題タブ [resourceproviderfactory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ASP.NET の暗黙的なローカリゼーションがユーザー コントロールに対して起動しない
ローカリゼーションに使用しているカスタム リソース プロバイダーがあります。そして、meta:resourcekey 属性でタグ付けされたコントロールがあります。ここ数日のある時点で、ちょうど私の開発環境で、ユーザー コントロール内にあるコントロールが IResourceProvider.GetObject を起動しなくなりました。
たとえば、これは開発環境のスクリーンショットで、翻訳が欠落していることを示すプレースホルダーはありません。
これは、プレースホルダーが正しく配置されていることを示すサーバーのスクリーンショットです。
meta:resourcekey 属性が設定されていることを示す、そのユーザー コントロールのマークアップの一部を次に示します。
IResourceProvider.GetObject にブレーク ポイントを設定すると、関連するコントロールにはヒットしません (他のすべてにはヒットします)。カスタムの resourceProviderFactoryType を globalization.config から削除して resx ファイルの使用に戻しても、コントロールは翻訳されません。問題は、私のコードに当たる前にあるようです。コードで GetLocalResourceObject を手動で呼び出すと、ローカライズされた文字列が返されます。
すべてが本番サーバー上で機能し、他の誰かの開発環境でもすべて機能するため、私のマシンと関係があるに違いありません。古いクラフトをアンインストールし、すべての ASP.NET 一時ファイルを削除し、ビルドをクリーンアップして Visual Studio を修復しました。
Windows を再インストールする以外に、どの設定または構成、または古い一時ファイルがこの動作を引き起こしている可能性がありますか?