6

我有几个项目的解决方案,其中许多引用了 Apache 的 log4net。我目前正在尝试仅构建其中一个项目(类库)来解决我遇到的参考问题,但还没有运气。

只有在 Windows 8 上的 VS2012 中构建时才会出现警告和错误,而不是在 Windows 7 上的 VS2010 中。

任何人有任何想法我可以如何解决这个问题?这是警告信息;

The primary reference "log4net" could not be resolved because it was built against the ".NETFramework,Version=v4.0.1,Profile=Client" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client".

这是错误消息:

The type or namespace name 'log4net' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Rune\Documents\Team Foundation Server\noOdin\Yggdrasil\OdinLib\Common.cs

The type or namespace name 'ILog' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Rune\Documents\Team Foundation Server\noOdin\Yggdrasil\OdinLib\Common.cs

我现在忽略错误,因为它们是 log4net 引用未加载的结果。

参考包含在我的 .csproj 文件中,如下所示:

<Reference Include="log4net"><HintPath>..\..\Dependencies\log4net.dll</HintPath></Reference>

因此,问题确实是我得到的警告,因为它似乎在我的 Dependencies 文件夹中找到了我的 log4net.dll 文件。

有谁知道我怎么解决这个问题?

请询问您是否需要更多信息。

4

1 回答 1

2

csproj 文件中缺少该<SpecificVersion>False</SpecificVersion>文件,该文件强制使用特定版本的log4net-library。

添加此答案以解决未回答列表中的问题:)

于 2013-01-09T08:47:24.490 回答