2

私は亀SVNでバージョン管理しているビジュアルスタジオでC#.netアプリケーションを開発しています。

私の質問はこれです:私のメインプロジェクトのアセンブリバージョンをリンクする方法はありますか?例えば:

    [assembly: AssemblyVersion("2.2.3.4")]

tortoise SVN のリビジョン番号へ。

たとえば、チェックアウトする代わりに、リビジョン 2.2.3.4 を直接チェックアウトできるようにします。リビジョン 52 (またはバージョン 2.2.3.4 に等しいリビジョン)。

これにより、プログラムの特定のバージョンを取得しようとしているときに、探しているソフトウェアのバージョン番号と等しい SVN リビジョン番号を把握する必要がないため、簡単になります。

ありがとう

4

2 に答える 2

6

次のような内容のファイルをプロジェクトに追加Version.cs.tplします。

namespace Versioning
{
    public static class VersionInfo
    {
        public const string Version = "2.2.3.$WCREV$";  
    }
}

プロジェクトのビルド前イベントを追加します。

SubWCRev.exe "$(SolutionDir)\" "$(ProjectDir)Version.cs.tpl" "$(ProjectDir)Version.cs" -f

プロジェクトをビルドします。Version.csプロジェクトのフォルダに作成されるので、プロジェクトに追加します。AssemplyInfo.cs を次のように変更できます。

[assembly: AssemblyVersion(Versioning.VersionInfo.Version)]

SubWCRev.exeTortoise プログラム フォルダー ( http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html ) 内のツールです。アクセス可能である必要があります (たとえば、PATH 変数で設定)。プロジェクトのリビジョンが変更されるたびに、ビルド後にアセンブリのバージョンに反映されます。

これはあなたの投稿にも当てはまるようです: Tortoise SVN リビジョン番号をアセンブリ バージョンにリンクする

于 2013-07-18T12:11:47.140 に答える
0

バージョン番号を使用してブランチに名前を付けてみませんか?

タグを使用して各タグにバージョンの名前を付けることができます...しかし、タグ付けは主にサインオフされたブランチ用です。

または、コミット フックを使用して各コミット メッセージにバージョン番号を追加し、それを TortoiseSVN のログで検索して、そこからチェックアウトすることもできます。

于 2013-07-18T11:45:23.990 に答える