1人のユーザーがこの例外を報告しています。私の研究では、これは静的なコンストラクタエラーであることを示唆しています。関連するクラスには、初期化される多くの静的フィールドが含まれます。私はそれがこれらの1つだと仮定しますが、私はそれを見つける方法がわかりません。この提案は、静的コンストラクタにtry/catchブロックを含めるように思われます。書かれているように、明示的な静的コンストラクタはありません。「xxクラスの型初期化器が例外をスローしました」デバッグする方法
明示的な静的コンストラクタを記述し、静的フィールドの初期化をtry/catchブロックにラップする必要があると考えています。私はこれを試すことができることを知っているが、エラーは私のために発生せず、私は試してユーザーにmodded実行可能ファイルを送信したいと思います。私のアプリケーションは、エラーがログに記録されるので、静的なコンストラクタで例外がキャッチされた場合は、彼からログを取得する必要があります。
クラスの関連(私は願っています)の部分が(それは実際に私のコードではなく、必要に応じて、私はそれを国防省することができます)ここにある:
[Serializable]
public class PText : PNode, ISerializable {
//comments elided by edit for brevity
#region Fields
public const int PROPERTY_CODE_FONT = 1 << 18;
public const int PROPERTY_CODE_TEXT = 1 << 17;
public static Font DEFAULT_FONT = new Font("Arial", 12);
protected static readonly object PROPERTY_KEY_FONT = new object();
protected static readonly object PROPERTY_KEY_TEXT = new object();
private static Graphics GRAPHICS = Graphics.FromImage(new Bitmap(1, 1));
[NonSerialized]
private Color brushColor;
private bool constrainHeightToTextHeight = true;
private bool constrainWidthToTextWidth = true;
private Font font;
[NonSerialized]
private Color penColor;
[NonSerialized]
private StringFormat stringFormat = new StringFormat();
private String text;
[NonSerialized]
private Brush textBrush;
#endregion Fields
#region Constructors
public PText() {
textBrush = Brushes.Black;
}
public PText(String aText)
: this() {
Text = aText;
}
protected PText(SerializationInfo info, StreamingContext context)
: base(info, context) {
textBrush = PUtil.ReadBrush(info, "textbrush");
TextAlignment = (StringAlignment)info.GetValue("alignment", typeof(int));
}
#endregion Constructors
.......
コードからすべてのコメントを削除しました。主に読みやすくするために、また資産を保護するためです。 –
@Andrasありがとうございました。しかし、これはメリーランド大学から公開されているコードです。 – ScruffyDuck
ああ笑! :) –