在VS2019管理Cmd窗口中运行- gacutil.exe错误:“向缓存添加程序集失败。系统找不到指定的文件。”GACUtil:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\gacutil.exe命令行:gacutil.exe -i "DuraSysOrdFuncs.dll" -r FILEPATH "C:\Windows\DuraSysOrdFuncs.dll" "" --我选择了GACUtil的这个版本,仅仅是因为C#库是用.Net 4.7的目标框架构建的。我不清楚这件事有多重要。我在-r的第三个参数中放了什么并不重要。我把程序集放在本地磁盘上的位置并不重要。同样的错误信息。我试图将其放入GAC中,因为我需要从运行在Server 2016上的SSIS包中调用它。我在另一篇文章中根据@HansPassant的建议打开了Sysinternals。不熟悉工具,所以没有找到文件位置错误。。。如果这是实际问题的话。
任何投入都非常感谢
发布于 2022-10-12 14:37:40
正如评论者所指出的,正如ProcMon所指出的,答案是只包含您正在注册的.net程序集的路径: gacutil.exe -i "C:\YourAssemblyFileLocation\YourDLL.Dll“,这就是所需的全部内容。。.you通常不需要-r参数,等等。谢谢!
发布于 2022-10-18 03:03:26
可以使用powershell将程序集注册到GAC中。它不需要任何特定的安装。
Set-location "C:\Temp“System.Reflection.Assembly::Load("System.EnterpriseServices,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a) $publish = New-Object System.EnterpriseServices.Internal.Publish System.EnterpriseServices.Internal.Publish
如果您需要获得名称和PublicKeyToken,请参考How do I find the PublicKeyToken for a particular dll?
https://stackoverflow.com/questions/73968298
复制相似问题