gpt4 book ai didi

.net - 为什么不将 .NET Framework 4.0 DLL 添加到 GAC?

转载 作者:行者123 更新时间:2023-12-04 06:18:01 24 4
gpt4 key购买 nike

我注意到 .NET DLL 的位置有些奇怪。我试图调试 System.ServiceModel.dll 的问题,我注意到即使我安装了 .NET 4.0,我的 GAC 中也只安装了 ServiceModel DLL 的 3.0 版本(我通过探索到 C:\Windows\集会)。但是,如果我导航到“C:\Program Files\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client”,则 4.0 版本就在那里。那么为什么 .NET 不将 4.0 版本安装到 GAC 中呢?

考虑到它没有,我的 4.0 程序如何知道在哪里可以找到 4.0 DLL?我上面给出的文件路径是自动探测的吗?我回顾了我使用 4.0 DLL 的应用程序,以确认它没有在本地复制 DLL,因此它似乎必须从 GAC(现在我知道 DLL 不存在)或探测.NETFramework 文件夹。这真的让我很困惑......

编辑:我按照 MystereMan 的建议运行了“Gacutil.exe/l System.ServiceModel”,但它仍然只显示 3.0 版本。这是否意味着 .NET 4 毕竟没有将 DLL 安装到 GAC 中?

编辑 #2 和解决方案:我的 PATH 中的 gacutil.exe 是一个旧版本,无法看到 4.0 程序集。通过搜索我的电脑,我在这里找到了 gacutil.exe 的 4.0 版本:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools。使用它,我终于可以看到列出了 System.ServiceModel.dll 的 4.0。感谢大家的帮助!

谢谢,

-罗伯特

最佳答案

.Net 4.0 使用不同的 GAC,在 Windows\Microsoft.Net\assembly .
Reference Assemblies 中的文件是空 stub ,仅用于过滤 Visual Studio 中不同目标框架的 IntelliSense。
如果你在 ILSpy 中打开它们,你会看到所有的方法都是空的。

关于.net - 为什么不将 .NET Framework 4.0 DLL 添加到 GAC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com