2014-02-02 1 views
2

Кому-то удалось заставить Perforce p4api.net работать с Linux?using p4net.api in Mono

Мои проекты правильно построить на Mono 2.8.4, динамические библиотеки (p4bridge.dll и p4api.net.dll находятся в бин/Debug, но всякий раз, когда я пытаюсь выполнить его, я получаю это исключение:

Unhandled Exception: System.DllNotFoundException: p4bridge.dll 
    at (wrapper managed-to-native) Perforce.P4.P4Bridge:ConnectA (string,string,string,string,Perforce.P4.P4CallBacks/LogMessageDelegate) 
    at Perforce.P4.P4Server..ctor (System.String server, System.String user, System.String pass, System.String ws_client) [0x00000] in <filename unknown>:0 
    at Perforce.P4.Connection.Connect (Perforce.P4.Options options) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: p4bridge.dll 
    at (wrapper managed-to-native) Perforce.P4.P4Bridge:ConnectA (string,string,string,string,Perforce.P4.P4CallBacks/LogMessageDelegate) 
    at Perforce.P4.P4Server..ctor (System.String server, System.String user, System.String pass, System.String ws_client) [0x00000] in <filename unknown>:0 
    at Perforce.P4.Connection.Connect (Perforce.P4.Options options) [0x00000] in <filename unknown>:0 

API-интерфейс является последним (2013,3) с MonoDevelop 2.8.4, как упоминалось, и все моно Обороты в актуальном состоянии.

Опять же, как упоминалось, оба Perforce библиотеки DLL копируются в Bin/Debug, проект компилируется правильно , и он находит p4api.net.dll (как показывает исключение), но не p4bridge.dll. Я начинаю подозревать, что p4bridge.dll не является управляемой библиотекой .NET.

Любые идеи?

--JFG

+0

Я считаю, что ваше подозрение верное. Если это похоже на настройку P4.NET, то p4bridge.dll является встроенным интерфейсом API. –

+0

Я заметил, глядя на сайт Mono, что они ищут файлы .so. Может быть, вам нужно скомпилировать API .net в Linux? http://www.mono-project.com/DllNotFoundException Исходный код доступен на FTP-сайте Perforce для API. – Matt

ответ

0

p4bridge не управляемая библиотека, так что вы должны были бы построить его для каждой платформы, которую вы хотите работать на.

Если вы хотите использовать P4NET.API в Mono, вы можете взглянуть на исходный код P4Connect. Этот проект включает версию библиотеки P4NET.API, которая работает в OSX под Mono. Однако им еще предстоит интегрировать этот код обратно в основную библиотеку P4NET.API.

 Смежные вопросы

  • Нет связанных вопросов^_^