web-dev-qa-db-ja.com

WPFアプリケーションのアセンブリバージョン情報の読み取り

私のwpfアプリケーションのバージョン情報を読んでいますが、AssemblyInfo.csファイルに書き込んだため、正しいバージョンを取得できません。私のファイルには

[Assembly: AssemblyVersion("0.1.001")]
[Assembly: AssemblyFileVersion("0.0.001")]

このコードを使用してバージョン情報を読んでいます

 System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

このバージョンは0.1.1.0であり、0.1.001である必要があります

ありがとう

26
Muhammad Akhtar

クラスMajorのプロパティMinorBuildRevision、およびVersionは、intではなく、string型です。したがって、Assemblyバージョンの文字列がVersionクラスに解析されると、この文字列の部分はint表現に変換されます。また、指定されたバージョン文字列の最初の数はMajorVersionコンポーネントであるというルールもあります。

"1" - 1.0.0.0
"1.2" - 1.2.0.0
"1.2.3" - 1.2.3.0
"1.2.3.4" 1.2.3.4
26
Eugene Cheverda

MSDNの記事 では、次のように述べています。

バージョンのすべてのコンポーネントは0以上の整数でなければなりません

したがって、有効な整数を取得するには、末尾のゼロを切り上げるか削除します。

2
Rox