【问题标题】:SharpSVN error in VS2010VS2010中的SharpSVN错误
【发布时间】:2011-10-24 23:43:06
【问题描述】:

我正在尝试让 SharpSVN 与我在 VS2010 中工作的 VB.NET 项目一起工作。我已将 SharpSVN.dll 添加到我的项目引用中,但是当我尝试加载站点时出现以下错误:

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

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: 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 目录中。此外,我还尝试将 build 设置为 x86 并使用 x86 版本的 SharpSVN.dll 并出现相同的错误(因此我怀疑该错误可能与指令集系列没有直接关系)。

在我的配置文件中,我尝试将以下内容添加到程序集属性中:

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

有什么想法吗?

【问题讨论】:

  • 我也有类似的问题。我收到了这个错误,但我的项目甚至不再使用 SharpSVN(它曾经有一段时间,但我们删除了它)。几个月来一直工作正常,一夜之间突然失败,没有做任何改变。非常令人沮丧,因为在项目或系统中的任何地方似乎都没有对 SharpSVN 的任何引用。

标签: vb.net sharpsvn


【解决方案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.

您可以通过将以下 sn-p 添加到您的 app.config 来解决此问题

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

不确定 64 位版本有什么问题,但您可以随时 build it from source

【讨论】:

  • 我已经尝试添加该 sn-p 并且 VS 告诉我找不到该属性的架构信息。我不确定它是否真的会阻止编译,所以我会试一试。谢谢!
【解决方案2】:

尽管认为&lt;add assembly&gt; 已经足够了,但我实际上通过将 SharpSvn 添加到 GAC 来解决了这个问题(以防有人也遇到这个问题)。

【讨论】:

  • 我遇到了同样的问题,我已经通过使用 x86 版本解决了它。项目设置和 GAC 都没有帮助。奇怪的事情发生在这里......
【解决方案3】:

我不确定为什么添加到 GAC 对您有用,这不是程序集加载器的正确行为。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2011-01-04
    • 1970-01-01
    相关资源
    最近更新 更多