如何在同一解决方案中使用2个不同的log4net程序集 - 每个程序集针对不同版本的.Net Framework?

时间:2012-10-09 14:32:13

标签: c# .net log4net

我的问题与一个

密切相关

Log4Net : 2 libraries need 2 different version of it

但略有不同。

虽然我们的主EXE是使用.Net Framework 4.0编译的,但是一些引用的程序集是为Framework v2.0编译的,我们也必须在这些程序集中添加日志记录。虽然我们选择了log4net v1.2.11(最新的,我相信),但我们在使用解决方案中的2个不同组件时遇到了障碍。

3 个答案:

答案 0 :(得分:2)

首先,您不能将所有dll放在同一个文件夹中(如您所见)。

Here它解释了运行时如何尝试加载程序集。

使用这些知识,您可以:

一个例子,取自here(“具有相同名称的多个装配”):

<dependentAssembly>
  <assemblyIdentity name="Server" publicKeyToken="c0305c36380ba429" /> 
     <codeBase version="1.0.0.0" href="v1/Server.dll"/>
     <codeBase version="2.0.0.0" href="v2/Server.dll"/>
</dependentAssembly>

答案 1 :(得分:0)

我认为只使用针对.net 2.0的版本是安全的。

答案 2 :(得分:0)

您可以使用此部分

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="2.0" />
  </startup>
</configuration>

链接:http://msdn.microsoft.com/fr-fr/library/vstudio/bbx34a2h.aspx

链接:http://msdn.microsoft.com/en-us/library/w4atty68(v=vs.71).aspx