我有一个包含多个项目的解决方案,其中许多项目都引用了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文件。
任何人都知道如何解决这个问题?
请询问您是否需要更多信息。
答案 0 :(得分:2)
csproj文件中缺少<SpecificVersion>False</SpecificVersion>
,该文件强制使用特定版本的log4net
- 库。
添加此答案以解决未答复列表中的问题:)