簡體   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