さまざまな例外からいくつかのクラスを派生させました。今はこの質問のタイトルのように警告を出します。例外クラスから派生する警告:CA2237:SerializableAttributeでISerializable型をマークする
1.誰かがこのルールを抑制することの意味を説明できますか?
hereからルールを説明することができますか?「アプリケーションクラスター間で正しく動作するためには直列化可能でなければならないため、このルールから警告を抑制しないでください。
ありがとうございました。
P.S.さて、私は自分自身で答えを得ました。実際には、例外をシリアライズ可能としてマークする必要があります。同じAppDomainでこの属性がなくても正常に動作します。しかし、他のドメインからキャッチしようとすると、アプリの境界を越えて取得するためにはシリアル化されなければなりません。それが私がこれで見つけた主な理由です。
AppDomainの境界で何か読んで遊んだ後.NETは実際にはこれらのクラスに[Serializable]がないという独自の例外を与え始めました。 appDomain.CreateInstance(...、classNameForThisDomain、...)に関する興味深い点の1つは、このクラスがMarshalByRefObjectから派生したときにのみ実行しているappドメインとは別のappドメインにclassNameForThisDomainを作成して実行することです。しかしそうでなければ、classNameForThisDomainは同じappdomainにロードされます! – Nickolodeon