2

私はASP.NETMVC2プロジェクトに取り組んでおり、そのために次のようにローカリゼーションを構成しました...


すべてのresxファイルを含む別のResourcesアセンブリがあります。各resxファイルの設定は...

ビルドアクション=埋め込みリソース
出力ディレクトリにコピー=コピーしない
カスタムツール=PublicResXFileCodeGenerator
カスタムツールの名前空間=リソース

データベースからresxファイルに文字列をエクスポートし、resgen.exeツールを呼び出してdesigner.csファイルを再作成するツールがあります。


ブラウザの言語設定を変更してページを更新した場合でも、これはすべてうまく機能しました。正しい文字列を取得します。

それは一時的な作業フォルダーにありました(私はSubversionを使用しています)。通常のフォルダでの作業に移行しましたが、かなり奇妙なエラーが発生しています。

コンパイラエラーメッセージ:CS0433:タイプ'Resources.XXXX'は両方の'c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 6c657d01 \ aaca70ae \ assembly \ dl3 \a36dac65\に存在します78c87110_3724cb01 \ Resources.DLL'および'c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 6c657d01 \ aaca70ae \ App_GlobalResources.g6fehiio.dll '

一時的なasp.netファイルをすべて削除し、Webアプリを再実行すると、上記の両方のアセンブリが再生成されます。本当に奇妙なことは、通常の作業フォルダーに移動する前に、これがすべて機能したことです。

したがって、このApp_GlobalResourcesアセンブリを生成しているものを誰かに教えてもらえますか。これは、すべてのリソースが作成したResourcesアセンブリに含まれているためです。

PS-Resources.dllを使用した理由は、データベース抽出ツールを使用してリソースを生成する際に発生していた問題を回避するためでした。(ここを参照)

PPS-私はVS2010を使用しています

4

3 に答える 3

4

ドー!

「通常の作業フォルダー」をこれが含まれていたブランチに切り替えたとき、「App_GlobalResources」フォルダーにいくつかのファイルがあったと思います。

VS2010で新しいApp_GlobalResourcesフォルダーを作成しようとしましたが、既に1つあると表示されましたが、ソリューションエクスプローラーにはありませんでした。

Windowsエクスプローラーを何度も調べましたが、そのフォルダーが見つかりませんでした。

とにかく、問題は解決しました!

道徳的:作業コピーに属していないファイルを削除するためにソリューションエクスプローラーまたはsvnスイッチを信頼しないでください:'(

于 2010-07-16T10:45:51.253 に答える
0

App_GlobalResourcesを停止して、一時ASP.NETファイルでアセンブリを自動的に生成する方法はわかりませんが。私はそれらの迷惑な警告を取り除く方法を理解しました。

警告が言うように:

Compiler Error Message: CS0433: The type 'Resources.XXXX' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\assembly\dl3\a36dac65\78c87110_3724cb01\Resources.DLL' and 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\App_GlobalResources.g6fehiio.dll'

タイプResources.XXXXは、両方のアセンブリに存在します。Custom Tool Namespace「リソース」以外のものに変更すると、これらの警告は消えます。

于 2012-03-19T06:46:17.320 に答える
0
  1. .resxを別のフォルダー(App_GlobalResourcesではない)に移動します
  2. カスタムツールの名前空間を「リソース」に設定したままにします
于 2015-05-22T02:37:09.797 に答える