Windows Server 2012 컴퓨터에서 msi 파일은 어셈블리 ABCD.dll을 GAC_32에 설치했습니다. 나는 다음과 같은 명령을,의 WindowsPowerShell이 파일을 패치하려고 :WindowsPowerShell을 사용하여 GAC에서 어셈블리 설치 및 제거
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacRemove("C:\Windows\Microsoft.NET\assembly\GAC_32\ABCD\v4.0_1.0.0.0__8a93b7fd09f0e7e7\ABCD.dll")
$publish.GacInstall("C:\Patch1\ABCD.dll")
GacRemove 명령이 실패하지만. Windows 이벤트 로그/응용 프로그램에서 다음 메시지가 나타납니다.
전역 어셈블리 캐시에서 어셈블리를 제거하지 못했습니다. C : \ Windows \ Microsoft.NET \ assembly \ GAC_32 \ ABCD \ v4.0_1.0.0.0__8a93b7fd09f0e7e7 \ ABCD.dll ABCD, 버전 = 1.0.0.0
누군가가 아이디어를 가지고 있습니까? 그 이유는 무엇입니까?
32 비트 (C : \ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \ powershell.exe)뿐만 아니라 64 비트 (C : \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell)도 시도해 보았습니다. exe) 관리자 모드의 WindowsPowershell.
gacutil도 작동하지 않습니다. 나는 다음과 같은 시도 : 나는 다음 줄을 참조
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\gacutil" -l
와 어셈블리의 목록을 얻을 때
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
No assemblies found matching: ABCD.dll
Number of assemblies uninstalled = 0
Number of failures = 0
:
를"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\gacutil" -u ABCD.dll
다음과 같은 메시지가
ABCD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8a93b7fd09f0e7e7, processorArchitecture=x86