1

CommonAssemblyInfo.cs に次のコードがあります

using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;

[assembly: AssemblyCompany("XXXX")]
[assembly: AssemblyProduct("BuildVersionTest")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCopyright("Copyright 2012")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: AssemblyVersion("4.0.*")]
[assembly: AssemblyFileVersion("4.0.6.121017")]
[assembly: AssemblyInformationalVersion("4.0.0.0")]

私のプロジェクトでは、このファイルがリンクされており、assemblyinfo.cs もあります。

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("BuildToolUtility")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("cfgfsfdrf68e-5af7-44f0-b310-f8a8191465fd")]

私が自分のdllファイルをビルドすると、バージョンは

4.0.6.55481

なんで?私のCommonAssemblyInfo.csにあるものを持っているべきではありませんか?

この写真をチェックしてください: http://postimage.org/image/nrtab3hk1/

その後、出力ウィンドウに別のバージョンが表示されます???? 私はこれを得ることができます。

10:11:52 AssemblyVersion:
10:11:52   ***** Start getting assemblyVersion *****
10:11:52   4.0.4673.16477
10:11:52   ***** Done getting assemblyVersion *****
10:11:52 BuildRepositoryZip:
10:11:52   ***** Start zipping deploy folder. Making package *****
10:11:52   4.0.4673.16477
10:11:52   Creating ZipFile: ..\..\4.0.4673.16477.zip
10:12:11   ***** Done zipping deploy folder. Making package *****
4

1 に答える 1

1

バージョンファイル属性で使用される数が多すぎるため、Uint16としてオーバーフローします。警告CS1607のようなものが表示されるはずです。アセンブリの生成-「ファイルバージョン」に指定されたバージョン「4.0.6.160017」は、通常の「major.minor.build.revision」形式ではありません。したがって、svnリポジトリが十分に古くなると、生のsvnリビジョン番号を使用できなくなります...

于 2012-10-17T12:03:32.883 に答える