0

Visual Studio 2012 で .NET 4 アプリケーションを構築しており、.net アセンブリをこの形式でバージョン管理したいと考えています。

[assembly: AssemblyInformationalVersion("6.0.1")]
[assembly: AssemblyVersion("6.0.*.0")]

ただし、次のものをビルドするとエラーが発生します。

Properties\AssemblyInfo.cs(40,12): error CS0647: Error emitting 'System.Reflection.AssemblyVersionAttribute' attribute -- 'The version specified '6.0.*.0' is invalid'

これは可能ですか?一部の Microsoft DLL では、バージョン管理がこれに沿っていることに気付きました。

4

1 に答える 1

1

バージョンの各部分は、0 から 65535 の範囲である必要があります。

動的なバージョン文字列を作成する 1 つの方法は、別のクラス (VersionClass クラスなど) で public const 文字列を宣言し、それを AssemblyVersion のバージョン文字列引数として使用することです。次に、バージョン文字列の動的な値を使用して VersionClass を再作成するスクリプトを (powershell などを使用して) 記述します。このスクリプトをビルド前のイベントとして実行すると、コンパイルのたびに VersionClass が上書きされます。

更新: バージョンの設定を簡素化するツールを次に示します: http://autobuildversion.codeplex.com/ 試したことはありませんが、これで目的のシナリオを処理できるようです。

于 2012-08-09T23:25:52.677 に答える