У Вас на самом деле есть одинарные кавычки в Вашей команде? Я не думаю, что они необходимы. Плюс, я думаю, что Вам также нужно --no-auth-cache
, и --non-interactive
Вот то, что я использую (никакие одинарные кавычки)
--non-interactive --no-auth-cache --username XXXX --password YYYY
Посмотрите Удостоверения клиента, Кэширующиеся документация в svnbook для получения дополнительной информации.
Это можно рассматривать как ошибку (и действительно, в подобных случаях это можно исправить), но это своего рода конструктивная особенность.
Windsor пытается сопоставить самый жадный конструктор (тот, у которого есть большинство параметров) он может удовлетворить.
Однако в вашем случае есть два конструктора, которые имеют наибольшее количество параметров (из одного), поэтому Виндзор просто выбирает первый, а то, что означает «первый», не определено.
действительно, если вы измените порядок ваших конструкторов в исходном коде, ваш код начнет работать, хотя это взлом, основанный на недокументированном поведении, и он этого не делает.
Давайте вернемся к тому, с чего мы начали, не так ли?
Я сказал, что Виндзор сбит с толку, потому что не существует единственного жадного конструктора, который он может удовлетворить.
Быстрое и четко определенное исправление: добавление фальшивого параметра в один из конструкторов th, чтобы они имели разное количество параметров:
public class UserRepository : IUserRepository {
public UserRepository(IObjectContext objectContext, object fakeIgnoreMe) {
// Check that the supplied arguments are valid.
Validate.Arguments.IsNotNull(objectContext, "objectContext");
// ignoring fake additional argument
// Initialize the local fields.
ObjectContext = objectContext;
}
public UserRepository(IObjectContextFactory factory)
: this(factory.CreateObjectContext()) {
}
// -----------------------------------------------
// Insert methods and properties...
// -----------------------------------------------
}
Сообщите об этой проблеме в список пользователей Castle или ] прямо в систему отслеживания проблем , чтобы она была исправлена.