问题标签 [gacutil]

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 投票
2 回答
1081 浏览

.net - GACed .net 库项目仅在第二次尝试时成功构建

我正在尝试构建一个需要在 GAC 中的项目库,因此我添加了以下行作为构建后事件:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil.exe" -if "$(TargetPath)"

对于每个偶数(第二次构建,第四次构建等)构建执行,我得到这个:

这很好 - 构建成功。

但是对于每一个奇怪的(第一次构建,第三次构建等)构建执行我得到这个:

这很糟糕而且很奇怪。

我该如何解决这个问题?

0 投票
1 回答
2403 浏览

mono - 来自 GAC 的程序集未列在 Monodevelop 的“编辑参考”对话框中

我正在尝试将一个小型控制台应用程序从 Windows/.NET 移植到 Ubuntu/Mono。我在添加对 NLog 的单声道版本的引用时遇到问题,我将其添加到 GAC。

确认将 NLog.dll 添加到程序集:Installed NLog.dll into the gac (/usr/lib/mono/gac)

我还在 GAC 中找到它:/usr/lib/mono/gac/NLog/2.0.0.0__5120e14c03d0593c

首先我认为这是由于我的 umask 027。但我将文件更改为 644,将目录更改为 755。问题仍然存在。

我正在使用:Ubuntu 10.04、Monodevelop 2.2.1、Mono 版本 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4)、Nlog NLog2.mono2-Beta1

你有什么主意吗?

0 投票
2 回答
6479 浏览

visual-studio-2010 - 每次构建时都安装 GAC - 如何可靠地安装

当我使用 Visual Studio 编译我的应用程序时,我想在 GAC 中可靠地自动安装我的应用程序程序集。我在 Web 应用程序的构建中设置了构建前和构建后事件。

预构建事件:

构建后事件:

如您所见,我还在回收我的 Web 应用程序池,以便新程序集开始工作。

我遇到的问题是这是一个非常不可靠的过程。如果我的 Web 应用程序失败,我的下一个构建将失败,因为卸载将失败(构建后没有在以前的构建上运行)......等等。

我想让这个过程尽可能可靠。我想有条件地卸载和程序集,如果它们存在并强制安装,无论它们是否存在......但是预构建事件仍然很重要,原因如下:

重要的

重要的是在构建之前完全卸载我的所有程序集,否则它们不会复制到我的输出目录(因为编译器在 GAC 中找到它们)因此 GAC 安装失败,因为它无法在输出 \bin 文件夹中找到程序集。

我应该如何可靠地在我的 Web 应用程序构建上进行 GAC 卸载和安装?

0 投票
1 回答
2079 浏览

.net - gacutil 不是有效的 win32 应用程序?

Mono.WebServer.dll在 GAC 中注册了:

然后我想在 GAC 中安装一个额外的程序集,我得到了:

gacutil 不是有效的 win32 应用程序。

我两次都使用了相同的 gacutil ...我重新启动并且问题仍然存在。

0 投票
1 回答
1601 浏览

wix - Wix - 以非管理员身份安装并添加到 GAC

我正在使用 WIX 编写安装程序,并且需要将 .dll 文件添加到 GAC。我用:

这对管理员用户来说工作得很好,但是当我从非管理员用户运行它时,安装程​​序失败并出现我没有权限的错误。

有没有办法克服这个问题?

如果我编写自定义操作,我可以从非管理员用户那里使用 gacutil 吗?

谢谢你的帮助,马克西姆

0 投票
1 回答
6736 浏览

.net - 如何在未安装 Office 的计算机上手动安装 Office 2007 PIA?

我看到了一些关于Office 2007 PIA的其他问题,特别是:

这个问题不一样。


根据我的经验,如果计算机上尚未安装 Office 2007,则无法安装 Office 2007 PIA。我运行 MSI,它显示一个对话框大约 5-7 秒,说“请稍候,Windows 配置 Office 2007 主互操作程序集...”,然后对话框消失,似乎没有任何变化。

最值得注意的是,GAC 中没有 Office 程序集。

如果我做错了什么,请纠正我。现在我假设这是预期的行为,并且对这个其他问题的主要答案是错误的。


这将我们引向我的实际问题。假设我在没有首先安装 Office 的情况下安装 PIA 的经验是预期的,我是否可以“手动”将 PIA 安装到 GAC 中?

我的目的是允许编译依赖于 PIA 的项目。我不希望运行该应用程序。我不是在问是否可以在未安装 Office 时运行使用 PIA 的应用程序。我知道答案。我在问是否可以安装 PIA 以允许在构建机器上编译项目,而无需先安装 Office。

我尝试用 解压缩 o2007pia.msi 文件msiexec /a,但没有任何乐趣。但是,我能够使用lessmsi手动提取 MSI 中的文件。

我正在考虑尝试gacutil -i从 MSI 文件中获取每个 DLL,如下所示:

但是,我也看到了这些项目:

我该如何处理这些策略 DLL 和配置文件?

我可以忽略它们吗?
感谢您提供的任何建议。

0 投票
1 回答
3468 浏览

.net-4.0 - 无法在 GAC 中为 .NET4、Server 2008 R2 注册程序集

我有一个包含模型类的强名称程序集,这些模型类可以在同一台机器上托管的多个应用程序(IIS 中的 WCF 服务)之间共享。

而不是每个服务在文件夹中都有自己的此 DLL 副本Bin,我想将其添加到 GAC。

我正在为 .NET4 使用 gacutil.exe:Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1 Copyright (c) Microsoft Corporation. All rights reserved.

DLL 在 GAC 中注册,但最终在C:\Windows\Assembly(GAC 2.0) 中 - 而不是在C:\Windows\Microsoft.NET\Assembly(GAC 4) 中。

当我在 GAC 中注册 DLL 并将其从Bin文件夹中删除时,我的应用程序失败并显示:

Could not load file or assembly 'MyCompany.Enterprise.BOM' or one of its dependencies. The system cannot find the file specified. at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)...

注意:Server 2008 R2 是 64 位的,程序集是为 MSIL、.NET 4.0 构建的。我正在使用 Windows SDK v7.1 附带的 gacutil.exe,它位于NETFX 4.0 Tools文件夹中。

我能错过什么?我想不出任何替代方案,所以欢迎任何想法。

编辑(清单):

0 投票
1 回答
2995 浏览

scripting - 在远程机器上执行 gacutil 的方法

给定机器的 IP 地址(或工作站名称),有没有办法在特定(远程)机器中执行 gacutil?

有问题的机器位于 Active Directory 域中。

运行脚本的用户可能在他们的本地或远程机器上没有任何特殊权限。

在某些情况下,将是机器中的管理员。

操作系统为Windows XP,远程机Win2008和Win2003。

任何编程语言都可以,但最好是脚本:

  • DOS 批处理文件 (bat, cmd)
  • VBScript (WSH)
  • psexec
  • C#(对我来说最糟糕的选择)
0 投票
2 回答
3398 浏览

c# - 在 Framework 4 应用程序中添加引用未显示使用 GACUtil V 4 注册的 GAC 中的程序集

我已经使用 VS2010(版本 4ish)附带的 GACUtil 在我的本地 GAC 中注册了一个 dll

我可以执行gacutil /l xxx并找到 dll

我从其他各种帖子中了解到,Framework 4 有它自己的 GAC,并且确实该文件可以位于其中的目录中C:\WINDOWS\Microsoft.NET\assembly

对我来说,问题是“添加引用”对话框上的 .NET 选项卡没有显示我的“GAC'ed”程序集。

我已经确保项目属性使用的是相同版本的 4.0 框架,但我目前不知所措。

有没有其他人有这个问题?

提前喝彩

0 投票
2 回答
1038 浏览

.net - VS10 对象浏览器中未列出程序集

我有一个需要使用第三方 DLL 的 VB.Net 项目,其中还有一个互操作程序集。所以我有这样的事情:

我尝试直接在项目中添加对互操作的引用,但在运行文件时出现 COM 未注册错误。

因此,我尝试按如下方式注册互操作:

即使重新启动 VS,程序集仍然不可见。