31

私は自分のプロジェクトAssemblyVersionAssemblyFileVersion属性を次のように設定しようとしています:

[assembly: AssemblyVersion("3.0.*")]
[assembly: AssemblyFileVersion("3.0.*")]

しかし、私はこの警告を受け取ります:

CS1607:アセンブリ生成 -- 'ファイル バージョン' に指定されたバージョン '3.0.*' は、通常の 'major.minor.build.revision' 形式ではありません

MSDNAssemblyVersionAttribute Classページには次のようなものがあります。

アスタリスク (*) を使用して、すべての値を指定するか、デフォルトのビルド番号、リビジョン番号、またはその両方を受け入れることができます。たとえば、[assembly:AssemblyVersion("2.3.25.1")] は、メジャー バージョンとして 2、マイナー バージョンとして 3、ビルド番号として 25、リビジョン番号として 1 を示します。[assembly:AssemblyVersion("1.2.*")] などのバージョン番号は、メジャー バージョンとして 1、マイナー バージョンとして 2 を指定し、デフォルトのビルド番号とリビジョン番号を受け入れます。[assembly:AssemblyVersion("1.2.15.*")] などのバージョン番号は、メジャー バージョンとして 1、マイナー バージョンとして 2、ビルド番号として 15 を指定し、デフォルトのリビジョン番号を受け入れます。

太字の部分に注意してください。[assembly: AssemblyVersion("3.0.*")](私のプロジェクトから)が有効ではない理由を誰かが知っていますが、 [assembly:AssemblyVersion("1.2.*")](MSDNの例から)有効ですか?

特に、私が書いているアプリケーションはプログラムのバージョン 3 であるため、0 以外のメジャー番号で開始できるかどうか知りたいです。

更新>>>申し訳ありませんが、これは他の投稿で回答されているようです...投票して閉じてください、ありがとう。

4

1 に答える 1

66

問題は次の行にあると想定しています。

[assembly: AssemblyVersion("3.0.*")]

それが実際にこれである場合:

[assembly: AssemblyFileVersion("3.0.*")]

あなたが言う質問への受け入れられた答えのように、これの複製ではありません:

AssemblyFileVersionAttribute* 特殊文字は使用できないため、完全で有効なバージョン番号を指定する必要があります。

その*構文は、属性でのみAssemblyVersion機能します。AssemblyFileVersion属性では機能しません。

ここでおそらく望む結果を得るには、次の 2 つの回避策があります。

  1. AssemblyFileVersion属性を完全に省略してください。これにより、アセンブリ ファイルのバージョン情報がAssemblyVersion属性 (構文をサポートする属性) から自動的に推測されます。*

  2. 大きな銃を打ち破り、Build Version Increment アドインをインストールします。これは、スティックを振ることができるよりも多くのバージョンのインクリメント オプションを提供します。

于 2013-03-19T17:13:13.627 に答える