gpt4 book ai didi

c# - 当 Gacutil.exe 拒绝服务时如何从 GAC 中删除 dll

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:15 24 4
gpt4 key购买 nike

我在 GAC 中有一个旧版本的企业库。它拒绝使用 GACUTIL.EXE 声称以下内容对其生命进行的任何尝试:

Microsoft (R) .NET Global Assembly Cache Utility. Version 3.5.30729.1 Copyright (c) Microsoft Corporation. All rights reserved.

Assembly: Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=e44a2bc38ed2c13c, processorArchitecture=MSIL
Unable to uninstall: assembly is required by one or more applications
Pending references:
SCHEME: <WINDOWS_INSTALLER> ID: <MSI> DESCRIPTION : <Windows Installer>
Number of assemblies uninstalled = 0 Number of failures = 0

我找到了关于这个主题的一些解释 here , 但我找不到任何相关的注册表项。

所以我想要核选项。谁有一个?

最佳答案

OpenXml SDK Productivity Tool 存在完全相同的问题,该工具仅存在于版本 2.5 中,但不存在于最新的 2.8.1 中。

在使用 Nuget Package Manager 在 Visual Studio 中为我的 ASP.Net 网页更新 SDK 后,我遇到了一个问题,即在发布过程中发布了旧的“DocumentFormat.OpenXml V.2.5”dll 而不是新的(这是在我的 Visual Studio 项目中正确引用)。

所以我决定先使用“程序和功能”页面卸载旧的 SDK,然后再使用 MSI 安装程序文件的“卸载”选项。

这两个都没用。不知何故,该 dll 仍保留在 GAC 和注册表中。我尝试使用 GACUTIL.exe 卸载它,但我收到了以上消息:

    Unable to uninstall: assembly is required by one or more applications
Pending references:
SCHEME: <WINDOWS_INSTALLER> ID: <MSI> DESCRIPTION : <Windows Installer>

然后我删除了注册表键值(仅值,而不是键本身)

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Assemblies\Global
DocumentFormat.OpenXml,version="2.5.5631.0",culture="neutral",publicKeyToken="31BF3856AD364E35".

这对我有用。之后发布正确的 dll!希望对某人有所帮助!

关于c# - 当 Gacutil.exe 拒绝服务时如何从 GAC 中删除 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40659163/

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