0

.NET アセンブリのバージョン番号について学習しています。アセンブリのバージョン番号をいつ変更するかを探しているときに、重大な変更という用語に出会いました。私は「重大な変更」は広大な領域であると信じています。

  • インターフェイスが変更されました
  • 露出方法変更

重大な変更と見なすことができる他の可能性を特定するのを手伝ってください。

4

1 に答える 1

2

網羅的なリストを提供できるかどうかはわかりませんが、可視型または型メンバー (メソッド、コンストラクター、プロパティ、イベントなど) のセマンティクスまたは機能を変更すると、重大な変更になります。

public型またはメンバーは、 or protected( を含む) である場合、アセンブリの外部で "可視" でprotected internalあり、含まれるすべての型 (このプログラム要素が内部に "置かれている" クラスと構造体) もpublicorprotectedです。

また、フィールドをプロパティに変更したり、メソッド、プロパティ、イベントなどの (戻り) 型を変更したり、メソッドのシグネチャを変更したりするなど、メンバーの「正式な」外観を変更した場合は、オプションのパラメーターまたはそのデフォルト値を変更します。既存のメソッドに新しいオーバーロードを追加すると、消費するコードによる呼び出しがあいまいになる可能性がある場合など、場合によっては重大な変更になる可能性があります。

列挙型の「フィールド」(名前付き定数) を何らかの方法で変更することは、名前の変更であろうと順序の変更であろうと、constフィールドの値を変更するのと同様に重大な変更です。

.NET and Compatibility: Breaking Changes in a Managed World (Kit George)によると、この用語を「定義」する Microsoft の文書がかつてありました。それがまだそこにあるかどうか、または有用かどうかはわかりません。

于 2013-06-16T11:05:56.697 に答える