繁体   English   中英

程序集不在GAC中,但gacutil显示它在那里

[英]Assembly not being located in GAC but gacutil shows it's there

我注意到系统上有关全局程序集缓存(GAC)的某些奇怪行为。 我感兴趣的程序集是log4net版本= 1.2.11.0

gacutil /l "log4net"的输出为:

C:\\ Windows \\ system32> gacutil / l“ log4net” Microsoft(R).NET全局程序集缓存实用程序。 版本4.0.30319.1版权所有(c)Microsoft Corporation。 版权所有。

全局程序集缓存包含以下程序集:
log4net,版本= 1.2.10.0,文化=中性,PublicKeyToken = 1b44e1d426115821,processorArchitecture = MSIL
log4net,版本= 1.2.11.0,文化=中性,PublicKeyToken = 669e0ddf0bb1aa2a,processorArchitecture = MSIL

项目数= 2

但是,通过资源管理器外壳(在重启之前和之后)查看GAC仅显示一个版本:

在此处输入图片说明

我的应用程序无法解析程序集,但是当我将其放入应用程序库 (bin文件夹)时,可以很好地解决这一问题。 根据本文 ,GAC将在应用程序基础之前进行探查-这将指示该组件不在GAC中。

那么GAC中的log4net Version=1.2.11.0吗? 如果是这样,为什么我的应用程序找不到它?

您正在寻找.NET 2.0 GAC,但是log4net v1.2.11.0是.NET 4程序集。 .NET 4有自己的GAC,位于%winddir%\\Microsoft.NET\\Assembly 检查那里的GAC_MSIL目录,我敢打赌,您会找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM