現在、AssemblyVersionAttributeコンパイル済みアセンブリのアセンブリ バージョンを指定するために使用しています。ただし、AssemblyVersionAttribute指定できるのは 16bit リビジョン[1]のみです。MajorRevisionゼロより大きい値を指定するにはどうすればよいですか?
1 に答える
1
クラスのプロパティとプロパティは、それぞれasとプロパティから計算されますMajorRevision(MinorRevisionReflectorでmscorlibを開いてみてください)。VersionRevisionRevision >> 16Revision & 0xffff
アセンブリのバージョン管理では、16ビットを超える長さのリビジョン番号はサポートされていません。このデータは、アセンブリバイナリの16ビットセクションに格納されます。つまり、アセンブリバージョンは、Versionクラスの機能のサブセットのみをサポートします。これは16進エディタで確認できます。バージョンをたとえば1.0.0.65534に設定すると、コンパイルされたDLLに16進バイトが含まれます0100 0000 0000 feff。次の2バイトに値を挿入してからアセンブリを検査しても、バージョン番号は16ビットを超えて増加しません。
于 2012-05-18T14:42:34.050 に答える