Все остальные, кажется, предлагают различие в переменной передаче, но я заметил что-то другое:
, Если пример кода Вы отображаетесь, упрощение чего-то, на что Вы уже смотрите, затем Вы могли бы хотеть отметить что в Вашем втором примере:
private int DoSomething(int value) {
return value++;
}
Эти value
возвратится затем инкремент. Таким образом, если Вы делаете следующее:
public Main() {
int val = 1;
Console.writeln(DoSomething(val));
}
Ваш вывод будет 1
.
Сообщенный мне, если это помогает вообще.
Вы можете использовать инструмент SubWCRev , который поставляется с TortoiseSVN (также доступен отдельно).
Либо запустите его из командной строки, либо используйте COM- Он предлагает объект .
Инструмент командной строки SubWCRev заменяет ключевые слова внутри файла информацией из вашей рабочей копии svn. Пример показан в документации.
Как вы относитесь к Visual Studio addin , который делает это?
. Вы можете использовать ключевое слово $ Rev $
svn но это даст вам последнюю ревизию файла, я думаю, вы хотите получить номер ревизии HEAD
.
Взгляните на этот вопрос:
I do this in my build script:
<SvnInfo LocalPath=".">
<Output TaskParameter="Revision" PropertyName="BuildRev" />
</SvnInfo>
<FileUpdate Files="protobuf-net\Properties\AssemblyInfo.cs"
Regex='(\[\s*assembly:\s*AssemblyVersion\(\s*"[^\.]+\.[^\.]+)\.([^\.]+)(\.)([^\.]+)("\)\s*\])'
ReplacementText='$1.$2.$(BuildRev)$5' />
using the community build tasks. This essentially applies a regex to the AssemblyInfo.cs, replacing the current revision with the svn revision.
В Visual Studio 2008 вы можете определить событие перед сборкой, которое может запускать сценарий или небольшую программу. В этом сценарии или программе вы можете использовать команду svnversion , чтобы получить версию репозитория, затем проанализировать ваш AssemblyInfo.cs и изменить номер версии на желаемый.
Я не уверен, что TortoiseSVN поставляется с svnversion, но он поставляется с сборкой Windows SVN, предоставленной CollabNet
Да, вы можете добавить событие перед сборкой, которое вызывает сценарий, который
svn info
для извлечения текущего номера версии (если вы выполняете обновление раньше, вы можете напрямую включить ключевое слово $ Revision $
в файл, также проверьте этот пост ); Обычно я преобразую шаблон AssemblyInfo.cs при построении проекта. К сожалению, сценарий необходим для адаптации формы $ Revision $ к синтаксису этого файла.
Интересные свойства (где строки шаблона находятся между '$'):
[assembly: AssemblyVersion("$v$.$build$.$Last Changed Rev$")]
[assembly: AssemblyFileVersion("$v$.$build$.$Last Changed Rev$")]
Изменить: svn info
является частью стандартного клиента SVN, а не TortoiseSVN, как указано в другом сообщении. Хотя установка проста. Однако TortoiseSVN поставляется с SubWCRev.exe
, который преобразует файл с заменой ключевых слов, так что это поможет, если вы обновите локальную копию.
Интересные свойства (где строки шаблона находятся между '$'):
[assembly: AssemblyVersion("$v$.$build$.$Last Changed Rev$")]
[assembly: AssemblyFileVersion("$v$.$build$.$Last Changed Rev$")]
Edit: svn info
является частью стандартного клиента SVN, а не TortoiseSVN, как указано в другом сообщении. Хотя установка проста. Однако TortoiseSVN поставляется с SubWCRev.exe
, который преобразует файл с заменой ключевых слов, так что это поможет, если вы обновите локальную копию.
Интересные свойства (где строки шаблона находятся между '$'):
[assembly: AssemblyVersion("$v$.$build$.$Last Changed Rev$")]
[assembly: AssemblyFileVersion("$v$.$build$.$Last Changed Rev$")]
Edit: svn info
является частью стандартного клиента SVN, а не TortoiseSVN, как указано в другом сообщении. Хотя установка проста. Однако TortoiseSVN поставляется с SubWCRev.exe
, который преобразует файл с заменой ключевых слов, так что это поможет, если вы обновите локальную копию.
SubWCRev.exe
, который преобразует файл с заменой ключевых слов, так что это поможет, если вы обновите локальную копию. не TortoiseSVN, как указано в другом сообщении. Хотя установка проста. Однако TortoiseSVN поставляется с SubWCRev.exe
, который преобразует файл с заменой ключевых слов, так что это поможет, если вы обновите локальную копию. Я создал подключаемый модуль версии SVN для проекта Build Version Increment (который назван в popester's отвечать). Этот плагин SVN извлечет номер последней редакции изменения из вашей рабочей копии и позволит вам использовать его в номере версии, что должно выполнять именно то, что вы пытаетесь сделать.