Я написал приложение консоли C# для использования в качестве связующего звена SVN. Я использую this для анализа параметров запуска. Это работает на VisualSVN, и в соответствии с VisualSVN documentation:Приложение консоли C# для подключения к SVN не получает аргументы командной строки
входной параметр (ы)
аргументы командной строки, передаваемые программе крючками, в порядке, являются:
- путь репозитария
- Commit имя транзакции
Я, кажется, не собираю аргументы, переданные в приложение, когда они запускаются через крючок. Если я запускаю приложение с консоли, передавая его вручную, он работает правильно, но при вызове SVN массив args
пуст, а синтаксический анализатор командной строки ничего не подбирает.
Я добавил это, указав абсолютный путь к exe в свойстве привязки pre-commit в VisualSVN (C:\Scripts\pre-commit.exe
). Является ли это правильным/мне нужно сделать что-нибудь особенное, чтобы передать аргументы в приложение?
Похоже, вы определили основные проблемы здесь; «массив args пуст». Не видя какого-либо кода, трудно сказать, где проблема, но из вашего описания я бы рискнул предположить, что это вокруг, где вы звоните в свое приложение pre-commit. Какой код используется для его вызова? – Novastorm
Хм, помещаете ли вы исполняемый файл, например? 'C: \ Хранилища \ MyRepo \ hooks'? Или вы вызываете его через пакетный файл как оболочку по какой-то причине? – bahrep
Я вызываю его с помощью 'C: \ Scripts \ pre-commit.exe' в диалоговом окне предварительного связывания Visual SVN. Я также попробовал его с помощью пакетной файловой оболочки, но это тоже не сработало. –