Sig*_*d V 17 .net c# svn tortoisesvn visual-studio-2010
我正在使用Visual Studio中的C#.net开发一个程序,并使用tortoise SVN控制它.
目前我正在根据内部版本号创建程序集版本.
有没有办法可以将项目程序集版本的最后部分链接到tortoise SVN中的修订版号,例如:
伪代码:
[assembly: AssemblyVersion("1.0.0."+SvnRevisionNumber.ToString())]
Run Code Online (Sandbox Code Playgroud)
这将确保我的程序集以其名称命名,而不是它们的构建号,但是在提交到存储库的最后一个修订号之后.
Avi*_*ner 10
我使用的是在post build事件中调用cmd文件:
@echo off
if %1x==x goto ERROR
SET ProjectDir=%1
SET SubWCRev="C:\Program Files\TortoiseSVN\bin\SubWCRev.exe"
if exist %SubWCRev% goto USESUBWCREV
REM Default to copying a default version
copy %ProjectDir%\Properties\AssemblyInfo.default.cs %ProjectDir%\Properties\AssemblyInfo.cs
echo default
goto END
REM We don't want to modify AssemblyInfo.cs every time, only when a revision
REM changes. Thus, we want to first compare the last compiled revision with
REM the current revision, and only update if they've changed.
:USESUBWCREV
%SubWCRev% %ProjectDir% %ProjectDir%\Properties\rev.subwcrev-template %ProjectDir%\Properties\rev.current.tmp
if exist %ProjectDir%\Properties\rev.last-build.tmp goto CHECKREV
goto NEWREV
REM Fetch the current revision and compare to last-build revision
:CHECKREV
fc %ProjectDir%\Properties\rev.last-build.tmp %ProjectDir%\Properties\rev.current.tmp > NUL
REM Only update if it's a new revision
if errorlevel 1 goto NEWREV
goto END
REM Current revision doesn't match last-build revision. Update!
:NEWREV
echo newRev
if exist %ProjectDir%\Properties\rev.last-build.tmp del %ProjectDir%\Properties\rev.last-build.tmp
copy %ProjectDir%\Properties\rev.current.tmp rev.last-build.tmp
echo use template
%SubWCRev% %ProjectDir% %ProjectDir%\Properties\AssemblyInfo.subwcrev-template.cs %ProjectDir%\Properties\AssemblyInfo.cs
echo done
goto END
:ERROR
echo Usage: %0 project_dir
echo.
echo For example:
echo %0 C:\projects\MyProjectDir
echo.
goto END
:END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8797 次 |
最近记录: |