如何从服务器GAC中删除.NET程序集DLL

Dav*_*Can 5 .net iis-7 gac visual-studio-2013

我正在尝试将包含Oracle ODP.NET库的VS2013项目部署到Windows 2008 IIS服务器,并从程序集"Oracle.ManagedDataAccess,Version = 4.121"收到错误"无法加载类型'OracleInternal.Common.ConfigBaseClass'. 2.0.""我在网上发现的这是由项目的ODP与GAC中具有ODP的服务器之间的冲突引起的.然后,说明将从GAC中删除ODP.服务器上的GAC中有Oracle DLL.我们99%确定这些DLL在之前尝试在该盒子上设置Oracle的时候已经在GAC中出现了,因为该服务器上的其他任何项目都不应该使用Oracle.因此,我们应该安全地将其从GAC中删除.

但是,gacutil.exe仅在Visual Studio中可用,我们不允许将Visual Studio安装到服务器上.

那么如何在服务器上没有gacutil.exe的情况下从GAC卸载Oracle DLL呢?我们可以从目录中删除它们吗?或者我们是否需要将gacutil.exe从我的工作站复制到服务器才能执行此操作?或者还有另一种方法吗?(最好不涉及注册表编辑)

任何建议表示赞赏,谢谢.

ben*_*c_b 6

如果您具有管理员权限,则应该可以使用Windows界面进行以下操作.

  1. 导航到GAC,它位于%systemdrive%\ Windows\Assembly.

  2. 右键单击应用程序中包含的每个程序集文件,单击"卸载",然后单击"是"进行确认

如果您无法通过上述方法卸载dll,则可以通过打开运行命令并输入以下路径并按Enter键来访问没有特殊视图的GAC文件夹.

C:\Windows\assembly\GAC_MSIL
Run Code Online (Sandbox Code Playgroud)

这将允许您作为普通文件夹与GAC中的所有文件进行交互.

  • Windows 10:C:\ Windows\Microsoft.Net\assembly\GAC_MSIL (2认同)
  • 当我尝试从 C:\Windows\ assembly 卸载 Oracle.DataAccess 或 Oracle.Web 时,收到“访问被拒绝”的消息。我尝试“以管理员身份”运行资源管理器,但收到相同的消息 (2认同)