0
public static class Constants
{

    public const string Fields_Fax = "FAX";
    public const string Fields_DataProtectionPost = "DATAPROTECTIONPOST";
    public const string Fields_DataProtectionTel = "DATAPROTECTIONMOBILE";        
    public const int AddressBookID = 595204;

    public static readonly XName PersonXName = "Person";

このクラスは、ウィンドウ サービス ソリューションにあります。サービスはローカルにインストールされ、上記の値を使用して実行されていました。

私はプロジェクトを引き継ぎ、このクラスに独自の読み取り専用の静的な XName 型をいくつか追加しました。そのクラスのプロパティを使用すると、「'This.App' の型初期化子が例外をスローしました」というエラーが表示されます。

プロジェクトは 1 つしかなく、ソリューションを再コンパイルし、ウィンドウ サービスを再インストールしました。問題は何ですか?

例外は次のとおりです。

"The type initializer for 'Constants' threw an exception"

...内部例外は次のとおりです。

"The ' ' character, hexadecimal value 0x20, cannot be included in a name."

...変更をコメントアウトしたところ、エラーなく正しく読み取られました。したがって、「Person」定数に似ているが失敗する原因となった1行だけを追加しました。

public static readonly XName cor_Tel_GeneralXName = "Tel General";
4

1 に答える 1

1

XNameは XML ノードとして使用されるため、XML ノードの命名には通常の制限が適用されます。XML ノードの名前にスペースを含めることはできません。

于 2012-04-12T11:27:15.470 に答える