C# vs 2012中恼人的log4net组件参考问题

C# vs 2012中恼人的log4net组件参考问题,c#,.net,visual-studio-2012,log4net,C#,.net,Visual Studio 2012,Log4net,获取以下生成错误 错误15未知生成错误“无法加载文件或程序集” 'log4net,版本=1.2.11.0,区域性=中性, PublicKeyToken=669e0ddf0bb1aa2a'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考来自HRESULT的异常:0x8013100' 我不太明白发生了什么事。 我尝试使用GUI作为参考,但没有帮助。在这个问题上已经花了1.5个小时,问题仍然存在 我现在直接转到项目文件,对log4net的唯一引用如下: 我仍然得到这个错误。为什么它甚至提

获取以下生成错误

错误15未知生成错误“无法加载文件或程序集” 'log4net,版本=1.2.11.0,区域性=中性, PublicKeyToken=669e0ddf0bb1aa2a'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考来自HRESULT的异常:0x8013100'

我不太明白发生了什么事。 我尝试使用GUI作为参考,但没有帮助。在这个问题上已经花了1.5个小时,问题仍然存在

我现在直接转到项目文件,对log4net的唯一引用如下:

我仍然得到这个错误。为什么它甚至提到V1.2.11


提前感谢

您能否检查所述路径中实际存在的版本…\ExternalDlls.NET 4.0\log4net.dll,并查看GAC中存在的版本

删除GAC中的版本,从项目文件中删除以下引用,然后从ExternalDlls文件夹中再次添加它


您能否检查所提到的路径….\ExternalDlls.NET 4.0\log4net.dll中实际存在的版本,并查看GAC中存在的版本

删除GAC中的版本,从项目文件中删除以下引用,然后从ExternalDlls文件夹中再次添加它


好了,我们终于开始构建了

我浏览了所有其他项目,并执行了Resharper-RemoveunusedReferences操作


完成后,项目开始构建。

好的,构建工作终于开始了

我浏览了所有其他项目,并执行了Resharper-RemoveunusedReferences操作


完成后,project开始构建。

如果您正在创建引用log4net的nuget包,请确保您的nuspec文件指定了log4net的正确版本,这就是我在log4net发布新构建后遇到的问题。如果您不想要最新版本的log4net,请确保使用[And]封装您的版本,这样它就不会得到最新版本。看这个


希望这对其他人有所帮助。

如果您正在创建引用log4net的nuget包,请确保您的nuspec文件指定了log4net的正确版本。这是我在log4net发布新版本后遇到的问题。如果您不想要最新版本的log4net,请确保使用[And]封装您的版本,这样它就不会得到最新版本。看这个


希望这对某人有所帮助。

我今天面临这个问题。为了解决这个问题,我通过visual studio从Bin文件夹中删除了log4net.dll文件引用。并重建网站。
它会自动拾取log4netdll。这就解决了问题。出现此问题的原因是通过visual studio进行的引用绑定可能与实际文件版本不符。

我今天面临此问题。为了解决这个问题,我通过visual studio从Bin文件夹中删除了log4net.dll文件引用。并重建网站。
它会自动拾取log4netdll。这就解决了问题。出现此问题的原因是通过visual studio进行的引用绑定可能与实际文件版本不符。

我在此处检查了所有相关的log4net问题。看起来有些特别,尽管引用这个log4net显然存在很多问题。为什么不强制.net应用程序加载Version=1.2.12.0?您可以更改web.config/app.config。这里有更多信息-这里也提供了一些信息-我认为那个家伙和你有类似的问题。试着通过软件包管理器Damith安装Log4net,虽然这确实可以神奇地解决问题,但我更愿意弄清楚这里到底发生了什么,因为我不喜欢觉得自己愚蠢。我有一个项目文件没有参考1.2.11。当我构建项目时,它会抛出错误。我想知道发生了什么…我在这里检查了所有相关的log4net问题。看起来有些特别,尽管引用这个log4net显然存在很多问题。为什么不强制.net应用程序加载Version=1.2.12.0?您可以更改web.config/app.config。这里有更多信息-这里也提供了一些信息-我认为那个家伙和你有类似的问题。试着通过软件包管理器Damith安装Log4net,虽然这确实可以神奇地解决问题,但我更愿意弄清楚这里到底发生了什么,因为我不喜欢觉得自己愚蠢。我有一个项目文件没有参考1.2.11。当我构建项目时,它会抛出错误。我想知道是怎么回事..虽然我喜欢GAC idea,因为它是项目文件外部的东西,但我从来没有把log4net放在那里,事实上,在我选中C:\Windows\system32>gacutil/l log4net Microsoft R.NET全局程序集缓存实用程序后,它就不在那里了。版本4.0.30319.17929版权归微软公司所有。版权所有。全局程序集缓存包含以下程序集:项数=0如果我的命令错误,请更正它。是版本存在。我在解决方案中有15个项目,每个项目都很好地引用了它,
由于某些原因,只有一个项目出现了错误。很抱歉,我没有注意到该命令,但您可以在C:\Windows\assembly中打开它,您可以手动查看安装在GACYep ty中的程序集列表,以方便快捷方式。可惜没有。命令也可以工作。你能检查一下你的log4net项目的bin文件夹,看看它是什么版本吗?它应该与ExternalDllsversion相同。如果没有,请尝试查找另一个dll的源并将其删除。虽然我喜欢GAC idea,因为这是proj文件的外部内容,但我从未将log4net放在那里,而且在我选中C:\Windows\system32>gacutil/l log4net Microsoft R.NET全局程序集缓存实用程序后,它实际上不在那里。版本4.0.30319.17929版权归微软公司所有。版权所有。全局程序集缓存包含以下程序集:项数=0如果我的命令错误,请更正它。是版本存在。我在解决方案中有15个项目,每个项目都引用了它,只是有一个项目由于某种原因出现了错误。很抱歉,我没有注意到该命令,但您可以打开它C:\Windows\assembly,您可以手动查看安装在GACYep ty中的程序集列表,以方便快捷方式。可惜没有。命令也可以工作。你能检查一下你的log4net项目的bin文件夹,看看它是什么版本吗?它应该与ExternalDllsversion相同。如果没有,请尝试查找其他dll的源并将其删除。是的。与问题中描述的问题明确相关!。。你不是很喜欢VS吗?你有没有可能使用crystal reports?我遇到的问题与VS 2012将引用路径添加到crystal reports使用的另一个log4net.dll中的问题相同,这导致了错误。当我编辑报告时,它会添加。若我删除引用路径,错误就会消失。不幸的是,我每次编辑crystal报告时都必须这样做。PS:我使用NuGet在所有项目中维护log4net。当System.Diagnostics跟踪类如此简单和更好时,为什么有人想在.NET应用程序中使用log4net?是的。与问题中描述的问题明确相关!。。你不是很喜欢VS吗?你有没有可能使用crystal reports?我遇到的问题与VS 2012将引用路径添加到crystal reports使用的另一个log4net.dll中的问题相同,这导致了错误。当我编辑报告时,它会添加。若我删除引用路径,错误就会消失。不幸的是,我每次编辑crystal报告时都必须这样做。PS:我使用NuGet在所有项目中维护log4net。当System.Diagnostics跟踪类如此简单和更好时,为什么有人希望在.NET应用程序中使用log4net?
<Reference Include="log4net, Version=1.2.12.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\ExternalDlls\.NET 4.0\log4net.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=1.2.12.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\ExternalDlls\.NET 4.0\log4net.dll</HintPath>
</Reference>