注:このセクションには誤った情報が含まれています。このセクションは、歴史的な目的のために残しました。SharpSVNを参照するときにIEFrame.DLLおよびSHLWAPI.DLLに外部関数が存在しない
私は、Visual Studio 2008で、SharpSVNを参照する.NET 3.5をターゲットとするWPFプロジェクトを持っています。私がSvnClient.Exportを呼び出すと、Marshal.GetExceptionCodeが私に0xc06d007eと伝えるという例外が出ます。これは、不正なDLLによって引き起こされたようです。私は(Dependency Walkerを使って)DLLを2つの犯人(IEFRAME.DLLとSHLWAPI.DLL)に追跡しました。
SHLWAPI.DLL:#270 IEFRAME.DLL:彼らは、次のエクスポート機能欠けている#141、#159、#160
を私はまた、当初の%ProgramFiles%加えることにより固定し、不足しているDLLを持っていました\ Internet Explorerをパスに追加します。私はDLL名を思い出さない。
これは、Visual Studio 2008、SharpSVN 1.7002.1998.12257の新規インストールです。
SharpSVNで提供されている「svn」コマンドを実行して、リポジトリからエクスポートすることができます。そのため、私は解決策/プロジェクト設定/参照問題に傾いています。
このエラーを解決するにはどうすればよいですか?
*アップデート:私はこの問題をよく理解しています。 SHLWAPIとIEFRAMEの問題は、通常の状態であるように見えます.User32.dllの動作は同じです。私は、次の方法で私の環境を変更:
環境変数は、[SVN_SSH] TortoisePlinkに設定し、[C:\プログラムファイル\ TortoiseSVNの\ binに\ TortoisePlink.exeの]
現在のユーザー名を使用するURIのターゲットを更新しました:
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
は、私は、これはプレゼンテーションフレームワークへの依存によるものであるが、それでもGUIレスの方法でこの作業を取得する方法があるかどうかを知りたいと思います。
おそらく、IEFrame.DLLとSHLWAPI.DLLにはいくつかの外部依存関係があります。あなたはその文書を読むべきです –
私はこれが "正常な"状態であることを発見したので、user32.dllは同じ問題を抱えていますが、sharpsvnを削除しても影響はなく、エクスポートを呼び出す際には失敗しています。この症状は問題の一部ではないように見えますが、SvnClient.Exportへの呼び出しにはまだC06d007eで問題がありません。 – PatrickV