Странная моно ошибка компиляции

Регулярное выражение атрибута HTML5 @pattern основано на JavaScript regex, поэтому вы можете использовать шестнадцатеричную нотацию или unicode notation для этого символа, как в JavaScript:

" = \x22 OR \u0022
' = \x27 OR \u0027

Чтобы вы могли легко использовать

pattern="[^'\x22]+"

TADA! Нет библиотек JavaScript! ;)

15
задан Lachlan Roche 14 March 2010 в 16:26
поделиться

4 ответа

Если у вас есть доступ к коду в библиотеке Java, вы можете правильно реализовать метод __ ().

Метод void __ () {} - компилируется нормально. Если это не поможет, можете ли вы предоставить образец кода, который воспроизводит ошибку?

0
ответ дан 1 December 2019 в 05:34
поделиться

Поскольку ваш класс может строиться с помощью компилятора Microsoft, это должно быть ошибкой в ​​компиляторе Mono или во время выполнения.

Вы можете использовать сборки, созданные с помощью компиляторов Microsoft, с помощью Mono на любой платформе.

Я могу предложить два обходных пути:

a) Создайте вспомогательную сборку svnkitutil.dll в Windows. Это будет содержать реализацию по умолчанию ISVNPropertyHandler и любые другие проблемные интерфейсы. Затем вы должны реализовать интерфейс, создав подкласс реализации по умолчанию.

Это может по-прежнему не работать с той же проблемой.

б) Измените исходные коды Java, чтобы удалить статическое поле в интерфейсе ( ISVNPropertyHandler.NULL ).

Это может потребовать много работы, если это общий шаблон во всем SVNKit.

0
ответ дан 1 December 2019 в 05:34
поделиться

Я рискну и предложу другое решение, которое, на мой взгляд, намного лучше ... Я не Я действительно не понимаю, почему вы используете библиотеки Java в приложении .NET, если в .NET есть много альтернатив и хороших альтернатив.

Почему бы вам не использовать библиотеку svn, родную для .NET, например Svn.NET ? Было бы намного быстрее. Если у вас есть код, использующий SVNKit, вы можете преобразовать его в Svn.NET или просто создать для этого несколько оболочек.

Рыба не может жить вне воды, верно? Он может жить только в своей естественной среде, в воде. Итак, SVNKit должен жить либо в своей естественной среде ... Java, а не .NET. SVNKit в .NET похож на человека на Марсе, и это нормально, но я бы предпочел человека на Земле.

Svn.NET поддерживает следующие платформы:

  • .NET 2.0 на Win32
  • Mono на Win32 (2.0 framework)
  • Mono на Linux (2.0 framework)

Обратите внимание, что .NET / Mono 3.5 является просто расширение до 2.0, так что оно будет работать и на 3.5.

Зачем запутываться? Вам будет намного проще .

1
ответ дан 1 December 2019 в 05:34
поделиться

Я собираюсь задать здесь очевидный вопрос ... но запускали ли вы свой код через moma http://www.mono-project.com/MoMA ? У меня также были очень странные ошибки компилятора, которые были вызваны тонкой несовместимостью (основные методы не реализованы и т. Д.).

0
ответ дан 1 December 2019 в 05:34
поделиться