Примечание: этот раздел содержит неверную информацию - перейдите к обновлению ниже для деталей.Этот раздел оставлен для исторических целей.
У меня есть проект WPF в Visual Studio 2008, предназначенный для .NET 3.5, который ссылается на SharpSVN.Когда я делаю вызов в SvnClient.Export, я получаю исключение, которое, по словам Marshal.GetExceptionCode, равно 0xc06d007e.Кажется, это вызвано плохой DLL.Я отследил (с помощью Обозревателя зависимостей) эту DLL для двух преступников: IEFRAME.DLL и SHLWAPI.DLL.В них отсутствуют следующие функции экспорта:
SHLWAPI.DLL: # 270 IEFRAME.DLL: # 141, # 159, # 160
У меня также изначально была недостающая DLL, которая была исправлена путем добавления% ProgramFiles% \ Internet Explorer к пути.Я не помню имя DLL.
Это свежая установка Visual Studio 2008, SharpSVN 1.7002.1998.12257.
Я могу запустить команду "svn", которая поставляется вместе с SharpSVN для экспорта из нашего репозитория, поэтому я склоняюсь к решению / конфигурации проекта / справочной проблеме.
Как мне это исправитьошибка?
* Обновление: я усовершенствовал свое понимание этой проблемы.Проблемы с SHLWAPI и IEFRAME кажутся нормальным состоянием - User32.dll работает аналогично.Я изменил свою среду следующими способами:
Переменная среды [SVN_SSH] установлена в TortoisePlink [C: \ Program Files \ TortoiseSVN \ bin \ TortoisePlink.exe]
Обновлена цель uri для использования текущейusername:
SvnUriTarget uriTarget =
new SvnUriTarget("svn+ssh://" + Environment.UserName + "@myserver/mypath");
С этой конфигурацией я могу успешно экспортировать при запуске этого кода как часть приложения WPF.Тем не менее, я по-прежнему получаю ошибки при запуске в рамках проекта MSTest.
System.Runtime.InteropServices.SEHException: External component has thrown an exception.\r\n
at svn_client_export5(Int32* , SByte* , SByte* , svn_opt_revision_t* , svn_opt_revision_t* , Int32 , Int32 , Int32 , svn_depth_t , SByte* , svn_client_ctx_t* , apr_pool_t* )\r\n
at SharpSvn.SvnClient.Export(SvnTarget from, String toPath, SvnExportArgs args, SvnUpdateResult& result) in g:\\dist\\src\\sharpsvn\\commands\\export.cpp:line 100
at SharpSvn.SvnClient.Export(SvnTarget from, String toPath, SvnExportArgs args) in g:\\dist\\src\\sharpsvn\\commands\\export.cpp:line 66
at SimulationManager.Model.SubversionInterface.Export() in C:\\Users\\phines\\Documents\\Projects\\SimulationManager\\SimulationManager\\SimulationManager\\Model\\SubversionInterface.cs:line 43
Я подозреваю, что это связано с опорой на структуру представления, но все же хотел бы знать, есть ли способ получитьэто работает без графического интерфейса.