2011-12-05 21 views
4

私は自分の.resxファイルで奇妙なエラーを取得しています:C#のRESXファイルエラー

RESXリーダライタタイプ名のresheader 『タグ「無効なRESXファイルRESX入力が有効でない有効なを見つけることができません。』 Visual Studio 2010 \ Projects \ dock \ WinForms \ Dock \ strings.resx "

既存のVS 2010ソリューションの一部のファイルを古いものと置き換えましたVS 2008の解決策から、ファイルのほとんどは正常に動作しますが、私はこのエラーを受け取り、それを修正する方法はわかりません。違いがある場合は、hereがそのファイルのソースコードです。

NET WinForms 4.0を使用しています。

答えて

8
<resheader name="resmimetype"> 
    <value> 
     text/microsoft-resx 
    </value> 
    </resheader> 

余分な空白が何らかの形で追加されました。それは次のようになりますので、あなたはそれを削除する必要があります:

<resheader name="resmimetype"> 
    <value>text/microsoft-resx</value> 
    </resheader> 

ます。また、2.0.0.0から4.0.0.0へのアセンブリ参照にバージョン番号を更新する必要があります。このような.resxファイルのコピーは、そうしなければ問題になる良い方法です。デザイナーが生成したコードが.resxファイルに欠損値を使用しようとすると、White Screen of Darnが簡単に表示されます。

+0

これを引き起こす可能性のある空白はありませんでした。とにかく、あなたの方法は働いているようですので、ありがとう。 – david

3

よしので、私はあなたの問題を解決するためにやったことがちょうど前に/ルートファイルに次の行を追加しました:

<resheader name="resmimetype"> 
    <value>text/microsoft-resx</value> 
    </resheader> 
    <resheader name="version"> 
    <value>1.3</value> 
    </resheader> 
    <resheader name="reader"> 
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    </resheader> 
    <resheader name="writer"> 
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    </resheader> 

私は新しいVS2010のソリューションを作成したが、新しいの.resxファイルに通常の方法を追加しました生成されたファイルの構造を調べました。私は、あなたのファイルを適切にコンパイルするために、明らかにVSが必要とするこれらの行を見つけました。

私は:)

EDIT助け希望:

おっと、私の悪い、私はあなたのファイルで既存のタグに気付きませんでした。とにかく、それはあなたの問題を解決し、古いタグを削除して、代わりにこれらのタグを保持することができます。

0

私の場合、私はどこかからコントロールをダウンロードしていました。すべてのソースファイルはフォルダにあり、resxファイルはApp_LocalResourcesサブフォルダにあります。私は実際にそれのresxファイルの部分に何か気にしなかった、私はそれが主に自動生成された空のタグと思う。だから私はresxファイルを削除しました。 resxファイルを削除した後、コントロールは正常にコンパイルされました。

関連する問題