【问题标题】:Where is gacutil.exe? Not where it used to begacutil.exe 在哪里?不是以前的地方
【发布时间】:2022-10-18 11:07:04
【问题描述】:

我们有带有自定义组件的 SSIS 包。 Gacutil 需要在我的新计算机上加载自定义组件。

有一次,可以在此处找到 gacutil:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin

根据:where is gacutil.exe?

我已经安装了 .NET 6 SDK 和过时的 .NET 5 SDK。两者都安装到不同的文件夹:Program Files\dotnet。而且,gacutil 没有安装。并且未创建 Windows SDKs 文件夹。

我在 stackoverflow 和其他位置找到的每个参考资料通常都有 10 年或 11 年的历史。我相信我找到了 2017 年的一些参考资料。

关于如何找到 gacutil.exe 的任何想法?

=====================

技术细节。使用古董。

  1. SQL Server 2014
  2. SSIS Visual Studio 15(应用程序工具 15)
  3. 2016/2017 年开发的组件。最有可能是 .NET Framework 4.5

    =====================

    更新: 我尝试安装 .NET Framework SDK 4.8,如下面的答案所述。失败了

    .NET Framework 4.8 or a later update is already installed on this computer.
    

    如我原来的问题所述,不存在名为 Microsoft SDKs 的文件夹。

【问题讨论】:

  • .NET 5/6 是 .NET5/6。 .NET Core 没有全局程序集缓存。它们也不是 Windows SDK 的一部分。 .NET Framework 的最新版本是 4.8。您找到的 11 年参考文献是正确的
  • 你问来干什么?你想做什么? SSIS 和 SQL Server 仅适用于 .NET Framework,即便如此,也仅适用于部分功能。
  • RE:“你为什么要问”。如问题中所述,我们有包含自定义组件的软件包,这些组件需要 gacutil.exe 才能安装在我的新笔记本电脑上。
  • SSIS 包?那些只使用 .NET Framework,而不是 .NET Core。具体版本取决于 SQL Server 版本。您可以添加 4.8,但您的包仍将针对该版本,这意味着您将只能使用与该 SDK 匹配的 C# 版本并部署与该 SDK 匹配的程序集。将相关信息放在问题本身中。 SQL Server 版本,SSIS 版本,这些 SSIS 包的目标版本。
  • 技术细节添加到原始问题。

标签: visual-studio ssis


【解决方案1】:

gacutil.exe 实用程序包含在 .NET Framework SDK 中。最新的是 .NET 4.8 SDK(又名开发包),可以从这里下载:

https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48

安装后,您应该在类似于以下目录的目录下找到它:“C:Program Files (x86)Microsoft SDKsWindows10.0AinNETFX 4.8 Toolsd”

请注意,.NET 6 和 .NET 5 是较新版本的 dotnet core,它们是 dotnet 的跨平台兼容版本,不支持全局程序集缓存概念。

【讨论】:

  • 我投了赞成票,因为如果安装它可能会起作用。安装停止,因为“此计算机上已安装 .NET Framework 4.8 或更高版本的更新。”没有可用的 Program FilesWindows SDKs 文件夹。
【解决方案2】:

您可以使用 powershell 将程序集注册到 GAC。它不需要任何特定的安装。

设置位置“C:Temp” [System.Reflection.Assembly]::Load("System.EnterpriseServices,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a") $publish = 新对象 System.EnterpriseServices.Internal.Publish $publish.GacInstall("C:TempmyGacLibrary.dll")

如需获取名称和PublicKeyToken,请参考How do I find the PublicKeyToken for a particular dll?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    • 2012-10-05
    • 2010-09-12
    • 2011-02-22
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    相关资源
    最近更新 更多