こんにちは私はちょうど.Net3.5/ MVC1/VS2008から.Net4.5/ MVC4/VS2012に移行したソリューションを持っています
ほとんどのものはうまく機能しますが、文字列リソースファイルの問題があります
私のソリューションには3つのプロジェクトがあり、そのうちの1つはコアであり、他のプロジェクトはコアに依存しています。
各プロジェクトには、次のパターンで名前が付けられた文字列ファイルがあります。
コアプロジェクト-ファイル名は Strings.resxです
Dependency1プロジェクト-ファイル名は Dependency1Strings.resxです
Dependency2プロジェクト-ファイル名は Dependency2Strings.resxです
これらの各ファイルには、特定のプロジェクトに関連する文字列があります。
ソリューションが読み込まれると、次のコードを使用してプロジェクトごとに1つのResourceManagerを作成します(例ではDependency2を使用します)。
ResourceManager manager = new ResourceManager("Dependency2.Dependency2Strings", typeof(Dependency2Strings).Assembly);
後で電話をかけようとするとmanager.GetString(messageName,ClientCulture)
Dependency2.resources.dllファイルが見つからないことを示すFileNotFoundExceptionが発生します。
奇妙なことに、 Dependency2.resources.dllにリストされているPublicTokenは、Dependency2.dllのPublicKeyと同じです。
私の質問は、Dependency2.resources.dllを生成する理由と場所を誰かが知っているかどうかです(おそらくそれは新しい設定です)。以前のバージョンの.Netでは、このコードは問題なく機能していました。
これは、依存関係プロジェクトでのみ発生し、コアプロジェクトでは発生しません。.Netがこのプロジェクト構造をSateliteAssembly構造と混同しているように見えます。