首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SharpSVN和C#问题

SharpSVN和C#问题
EN

Stack Overflow用户
提问于 2010-06-09 01:40:44
回答 3查看 5.9K关注 0票数 9

当尝试向我的C#项目添加SharpSVN时,使用与SharpSVN相关的调用进行编译时会出现以下错误:

未处理的FileLoadException混合模式程序集是针对运行时的版本'v2.0.50727‘构建的,如果没有额外的配置信息,则无法在4.0运行时中加载。

我所做的是添加来自下载的SharpSVN压缩文件的引用,并添加

代码语言:javascript
复制
using SharpSvn;

当我编译它时,它工作得很好,但当我添加:

代码语言:javascript
复制
string targetPath = "https://bobl/svn/ConsoleApplication1";

SvnTarget target;
SvnTarget.TryParse(targetPath, out target);

它会因为这个错误而中断。我已经搜索了这个错误,但没有找到解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-09 01:42:22

SharpSVN程序集是针对CLR2.0版生成的混合程序集。

因此,它不能在CLR 4.0版本中加载。

您需要在项目属性中将项目更改为目标.Net 3.5 (或更早版本)。

由于CLR2.0、.Net 3.0和.Net 3.5都使用CLR2.0版本,因此它可以在这些版本中的任何一个中工作。

票数 6
EN

Stack Overflow用户

发布于 2010-06-09 01:46:04

如果您想继续瞄准.NET 4,请将此代码添加到您的app.config中:

代码语言:javascript
复制
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

这将支持加载为旧版本框架构建的混合模式程序集(主要是包含非托管代码和托管代码的C++/CLI程序集)。

票数 31
EN

Stack Overflow用户

发布于 2012-09-13 12:20:44

正如朱利安提到的,您需要将兼容性代码添加到项目的app.config或web.config中:

代码语言:javascript
复制
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

这一切都很好,但如果您在Visual Studio中使用测试运行器(如MSTest)遇到此问题,则实际上必须对测试运行器的配置文件进行此更改。

我在VS 2012中写了一篇关于这个问题的帖子:

http://www.diaryofaninja.com/blog/2012/09/13/net-20-mixed-mode-assemblies-in-visual-studio-net-45-test-projects

在Visual Studio 2012中,您需要将启动代码添加到以下文件中:

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.executionengine86.exe.config
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2999791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档