現在、約 30 個の文字列を保持しているポータブル クラス ライブラリにリソース ファイルがあります。それらは Windows Phone 8 アプリからアクセスでき、ファイルに既に含まれている文字列は正常に機能します。
ただし、以前と同じように新しい文字列を追加しようとすると、コンパイル エラーが発生します。
'System.Type' には 'Assembly' の定義が含まれておらず、タイプ 'System.Type' の最初の引数を受け入れる拡張メソッド 'Assembly' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
.designer.cs ファイルを見ると、これが問題であることは明らかです。新しい文字列が追加されると、次の 2 つの変更が発生します。
- System.Reflection を使用します。消える
`global::System.Resources.ResourceManager("ViewModels.Resources.StringResources", typeof(StringResources).Assembly); 次の場所に表示されます。
new global::System.Resources.ResourceManager("ViewModels.Resources.StringResources", typeof(StringResources).GetTypeInfo().Assembly);
.GetTypeInfo() と using ステートメントが消えるのが問題ですが、ファイルがビジュアル スタジオによって生成されて元に戻るため、それらを元に戻すことはできません。何か案は?
私が考えることができる唯一の重要な変更は、新しい Visual Studio 2012 update 2 ですか?
また、注目に値する: プロジェクト内の別の場所 (wp8 アプリまたは別の pcl) に別の resx を追加すると、文字列を追加するときにまったく同じ動作を示します。