Zastanawiam się, czy możliwe jest rejestrowanie złożeń z COM bez konieczności rejestrowania go w GAC. Musimy wdrożyć niektóre biblioteki .net, które są narażone na klasyczne asp przy użyciu CCW. Ale wdrożenia to koszmar.Zarejestruj zarządzane zestawy z COM bez użycia GAC
Odpowiedz
Yeap, użyj regasm.exe
z kluczem /codebase
. Gdy używasz regasm.exe
bez /codebase
, zapisuje on tylko nazwę pliku assmebly w rejestrze, więc środowisko wykonawcze .NET nie może go znaleźć, chyba że zestaw znajduje się w GAC. Z /codebase
zapisze pełną ścieżkę i .NET z przyjemnością odnajdzie złożenie, gdy konsument zadzwoni pod numer CoCreateInstance()
.
Tak, możesz użyć Regasm na zespole bez jego obecności w GAC. Na przykład mam mieszane witryny ASP i ASP.NET z zespołami .NET w folderze bin. Niektóre są narażone na COM i są zarejestrowane in situ z folderu bin.
Oczywiście te zespoły są unikalne dla aplikacji i nie są udostępniane przez inne aplikacje. Aby nie powiedzieć, że nie jest to możliwe, prawdopodobnie wybrałbyś lokalizację neutralną do skopiowania takich bibliotek dll do.