2011-09-19 71 views
2

我试图让SharpSVN与我在VS2010中工作的VB.NET项目一起工作。我已经添加SharpSVN.dll到我的项目的引用,但是当我尝试加载该网站出现以下错误:在当前web请求的执行过程中发生未处理的异常:VS2010中的SharpSVN错误

Could not load file or assembly 'SharpSvn' or one of its dependencies. An attempt was made to load a program with an incorrect format.

描述。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息: System.BadImageFormatException:无法加载文件或程序集'SharpSvn'或其某个依赖项。试图加载格式不正确的程序。

源错误:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

我的机器是64位的,我已经设置了配置管理器建立到x64以及复制SharpSVN.dll的64位版本到我项目的bin目录。此外,我也尝试将构建版本设置为x86,并使用x86版本的SharpSVN.dll,并且出现相同的错误(所以我怀疑错误可能与指令集系列不直接相关)。

在我的配置文件,我已经尝试添加以下的组件属性:

<add assembly="SharpSvn, Version=1.6016.1637.10768, Culture=neutral, PublicKeyToken=d729672594885a28"/> 

任何想法?

+0

我有类似的问题,有点。我遇到了这个错误,但是我的项目甚至不再使用SharpSVN(过去曾经使用过,但我们将其删除了)。一直工作好几个月,一夜之间突然失败,没有任何改变。非常令人沮丧,因为在项目或系统中的任何地方似乎没有任何对SharpSVN的引用。 –

回答

1

尽管认为<add assembly>已经足够,但我实际上是通过向GAC中添加SharpSvn来解决这个问题的(如果有人也遇到了这个问题)。

+0

我有同样的问题,我已经通过使用x86版本解决它。 项目设置和GAC都没有帮助。奇怪的是在这里... – user2173353

1

我有同样的错误,无法解释发生了什么。然而,与32位版本,错误的是更具描述:

Unhandled Exception: System.IO.FileLoadException: Mixed mode assembly is built against 
    version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without 
    additional configuration information. 

,您可以通过将下面的代码片段到你的app.config

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
</startup> 

不知道什么是错的64位版本修复,但你总是可以build it from source

+0

我已经尝试添加该片段,并且VS告诉我无法找到属性的架构信息。我不确定它是否真的阻止了编译,所以我会试一试。谢谢! – Kevin

+0

你在使用.NET 4.0项目吗? – jeroenh

+0

是的,我是。 <4更多去>> – Kevin

1

我不确定为什么添加到GAC为您工作,这不是组装加载程序的正确行为。

该错误指的是程序集的位数。 SharpSVN是一个混合模式程序集,即:它包含托管代码和非托管代码。您必须专门针对x86(使用x86 SharpSVN Assembly)或x64(再次使用适当的程序集)。您必须进一步将所有程序集设置为明确的x86或x64。定位任何CPU都将允许运行时为你做出这个决定,如果它选择的字长不匹配SharpSvn DLL,它将无法加载SharpSvn.dll。