Год или около того, следовательно, я изменил свой проект, чтобы включить в него имя файла subversion.Я установил MSBuild.Community.Tasks.Targets и изменил файл csproj так, чтобы он содержал:
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
...
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="C:\cygwin\bin">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
...
Это работало как чудо.Однако после обновления до cygwin 1.7 при запуске процесса сборки возникла следующая ошибка:
C: \ cygwin \ bin \ svnversion.exe --no-newline "Z: / cygdrive / z /dev / myproject / src / winservice "
'/ cygdrive / z / dev / myproject / src / winservice / Z: / cygdrive / z / dev / myproject / src / winservice' не существует
Z: \ dev \ swiftarhiv \ src \ myproject \ myprojectservice.csproj (200,5): ошибка MSB6006: "svnversion.exe" завершен с кодом 1. Готово Создание проекта
"Z: \ dev\ swiftarhiv \ src \ myprojects \ myprojectservice.cspro j "(Перестроить цель (и)) - СБОЙ.
Я попытался изменить параметр LocalPath задачи SvnInfo на". "или "/ cygdrive / z / dev / myproject / src / winservice", но задача SvnInfo имеет неприятную привычку использовать полный путь к Windows независимо от того, что вы ввели так "."разрешается до пути, использованного ранее, и "/ cygdrive / z / dev / myproject / src / winservice" разрешается до "Z: / cygdrive / z / dev / myproject / src / winservice", что снова вызывает ошибку.
Есть ли настройка, которую я могу установить в Cygwin 1.7, которая сделает мои проблемы редкими?