问题标签 [global-assembly-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
95 浏览

visual-studio-2013 - sap gateway for microsoft visual studio 2013 加载项安装错误

我目前正在尝试为 Microsoft Visual Studio 2013 安装 SAP Gateway Add-on,但出现以下错误:

错误:在全局程序集缓存中找不到 Microsoft.IdentitiyModel.Clients.ActiveDirectory.dll

我已经遵循了 sap 页面上的先决条件: 软件先决条件

除了Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll之外,我确实将必要的 .dll 安装到了全局程序集缓存中。我在Active Directory 身份验证库包中找不到它。

我正在尝试将其安装在具有Windows 10的系统上,但是您认为这会产生什么不同,因为在先决条件中它没有说明支持 Windows 10 吗?

谢谢您的帮助。

0 投票
2 回答
1897 浏览

c# - 更改全局程序集缓存 (GAC) 中的 MySql.data 版本

So I have previously developed a payroll system using c# way back 2010, and I decided to use it again as a reference, I had its ClickOne Application Deployment Manifest, but when I tried to run it an error appears "Unable to install or run the application. the application requires that assembly MySQL.Data Version 5.1.7.0 be installed in the Global Assembly Cache (GAC) first". when I check the GAC on windows/assembly, I had MySQL.Data version 6.2.2.0, Is there a way to change/uninstall this and install a version 5.1.7.0?

I had searched for a possible answer to my questions but most of the results is on publishing, unfortunately I cant republish the application again as I lost my sql database, any help will do as I will continue browsing for possible answer.

thanks in advance.

0 投票
1 回答
73 浏览

c# - C# 应用程序将文件从 GAC 复制到执行文件夹

我对在 .NET 中使用全局程序集缓存有点陌生,并且对它的工作原理有疑问,因为我无法在网上找到任何东西。

我的 msi(使用 Visual Studio 安装程序扩展创建(使用 Visual Studio 2015))将一些程序集安装到 GAC 和我的应用程序中(这些程序集需要在 GAC 中,因为第 3 方应用程序也需要访问它们)。运行安装程序并启动应用程序后,我注意到当我启动我的应用程序时,来自 GAC 的 dll 副本会在应用程序执行目录中生成。

我的问题是,这是使用 GAC 程序集的正常工作方式吗?我假设程序集只是从 GAC 加载而不制作本地副本。或者这是我的一些错误以及我如何构建我的应用程序(CopyLocal 设置为 true,但据我了解,这仅对 Visual Studio 很重要,对部署后的实际执行没有影响)。

0 投票
3 回答
333 浏览

c# - 检测程序集的特定版本是否在 GAC 中

我有一个程序集完全限定名称列表,我检查是否有一些assemblyGAC我的应用程序运行的位置。

例如,我想做类似的事情:

我试过使用fusionAPI (CreateAssemblyCacheQueryAssemblyInfo),正如这篇博文中所描述的那样,但不幸的是它只适用于程序集的部分名称

如果我调用QueryAssemblyInfo("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),它会给我一个FileNotFound例外,如果我调用它QueryAssemblyInfo("mscorlib"),它会返回最新版本的mscorlib,这并不总是我正在寻找的版本。

关于如何做到这一点的任何想法?

更新:我无法将程序集加载到我的应用程序中,因此无法使用Assembly.Load,Assembly.ReflectionOnlyLoad等。

0 投票
2 回答
48 浏览

file - 高级安装程序 - 在全局程序集缓存 (gac) 中搜索文件

我有一个高级安装程序设置,在安装过程中,我需要确定系统上是否安装了 Crystal Reports。似乎最好的方法是在全局程序集缓存中查找 CrystalDecisions.CrystalReports.Engine.dll 的存在。更多信息在这里:https ://answers.sap.com/questions/9165705/determine-if-cr-runtime-is-installed.html

我尝试了高级安装程序的搜索功能,但它需要文件的完整路径。我要做的是在 GAC 目录(C:\windows\assembly)和子目录中搜索程序集。

有任何想法吗?

0 投票
0 回答
96 浏览

.net - Framework/Framework64 目录 VS GAC

在我的带有 AnyCPU 的 .NET Framework 4.7.2 ConsoleApp 中,我正在跟踪当前 appdomain 中加载的不同程序集AppDomain.CurrentDomain.GetAssemblies()

结果如下:

  • mscorlib.dll从目录加载 Framework(此路径 C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll)
  • System.Core.dll从目录加载GAC_MSIL(此路径 C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll)
  • System.Data.dll从目录加载GAC_32(此路径 C:\windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll)

已知 CLR 使用以下方式加载程序集:

1-GAC

2-当前目录

我的问题是:

  • Framework/Framwork64 文件夹在 CLR 加载程序集过程中的作用是什么(我知道它是 .net 框架运行时的安装位置)
  • 此 CLR 是否仅从该文件夹加载运行时程序集?如果是,有什么命令吗?
  • 我的应用程序针对 AnyCPU 为什么它从 GAC_32 而不是 GAC_MSIL 加载程序集?