SharpSVN示例程序崩溃问题

9

我下载了SharpSVN的示例来尝试并测试它,但是当我尝试运行它时,出现了以下错误:

System.BadImageFormatException {"无法加载文件或程序集'SharpSvn,Version=1.4999.376.29668,Culture=neutral,PublicKeyToken=d729672594885a28'或其某个依赖项。尝试加载格式不正确的程序。"}

下载后,我打开了该项目,按照要求进行了转换且没有出现任何错误,然后尝试运行它。但我在网上找不到解决方案。

我的操作系统是64位W7,我注意到所有的.dll文件和其他文件都是_32,不确定是否是问题所在。

3个回答

13

这个应用程序是为x86编译的吗?如果它是为任何CPU编译的,那么在64位系统上将被JIT编译为x64,如果加载32位DLL文件,则会导致此错误。您需要添加一个x86配置并构建该配置。


就是这样。我进入了构建选项,将其切换为x86,现在它可以运行了。非常感谢 :) - Sam F
如果你真的需要,你也可以在SharpSvn网站上下载64位版本。 - Bert Huijben
有意思。如果使用x86配置不起作用,下一步的故障排除步骤是什么(请注意,esylvestre的建议在我的情况下也行不通)? - Brian Knoblauch
@BrianKnoblauch:你还是遇到了BadImageFormatException吗?那么很可能是你的配置出了问题。你能否从专门的32位或64位测试应用程序中加载DLL? - OregonGhost
我的现在正常工作了。不幸的是,我真的想不起来我是如何修复它的(我一直在不同平台和语言的许多项目之间跳来跳去,现在我几乎记不起我的名字了!)。无论我最终做了什么,它都有效果了,因为我现在没有任何问题了! :-) - Brian Knoblauch

2

也许你在.NET 4.0项目中使用了SharpSvn的dll。如果是这样,请在你的app.config文件中尝试以下操作:

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
  </startup>
</configuration>

0

我的开发环境是32位的,而我们的CI构建和服务器是64位的。 最终我做了什么?Sharpsvn有两个NuGet包,分别是x86和x64!我安装了它们两个,然后手动更改了srapsvn和sharpsvnUI的引用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接