【问题标题】:Could not load file or assembly 'SharpSvn-DB44-20-Win32.dll'无法加载文件或程序集“SharpSvn-DB44-20-Win32.dll”
【发布时间】:2011-07-19 17:08:53
【问题描述】:

我正在使用 ASP.NET MVC3、StructureMap 和 SharpSvn。
这是我正在使用的代码:

public class SvnFileReader : ISvnFileReader
{
    private readonly string _svnAddress;

    public SvnFileReader(string svnAddress)
    {
        _svnAddress = svnAddress;
    }

    public void DownloadFiles(DirectoryInfo destination)
    {
        using (var svnClient = new SvnClient())
        {
            // checkout the code to the specified directory
            svnClient.CheckOut(new Uri(_svnAddress), destination.FullName);
        }
    }
}

当我执行这段代码时:

_svnFileReader.DownloadFiles(new System.IO.DirectoryInfo(@"d:\test"));

我收到以下错误消息:

无法加载文件或程序集 'file:///D:\Projects\SvnFileReaderDemo\bin\SharpSvn-DB44-20-Win32.dll' 或其依赖项之一。模块 预计将包含一个程序集 清单。

任何帮助将不胜感激!

【问题讨论】:

    标签: c# svn exception-handling 64-bit sharpsvn


    【解决方案1】:

    您应该从 StructureMap 自动 assembly scanning 中排除 SharpSvn DLL 以获取依赖关系。这是一个非托管库,但因为您已将 StructureMap 配置为在尝试加载此库时在所有 dll 中查找类型,所以它会中断。


    更新:

    如果您在 x64 位操作系统上运行此代码,您可以尝试下载使用 SharpSvn-DB44-20-x64.dll 的特定 x64 SharpSvn

    【讨论】:

    • 你能告诉我该怎么做吗?
    • @šljaker,我不知道你用什么代码来配置你的 DI 容器。
    • @šljaker,你是在 x86 还是 x64 位操作系统上运行它?
    • @šljaker,那你为什么要使用 Win32 库呢?您需要下载 SharpSvn 的 x64 位版本。有两种不同的下载和 NuGet 包。
    • @Darin,我尝试安装两个 NuGet 包,但总是收到错误消息。对于 x84:“无法添加对 SharpSvn-DB44-20-win32 的引用”,对于 x64:“无法添加对 SharpSvn-DB44-20-x64 的引用”。这就是我尝试手动引用 SharpSvn 的方式。
    猜你喜欢
    • 2011-09-11
    • 2016-08-29
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    相关资源
    最近更新 更多