我在.Net中編寫了一個Windows服務,我想公開要由其他.Net代碼調用的類。具體來說,我有一個API,我想通過將放置在GAC中的DLL公開,並且我希望GAC中的DLL使用.Net Windows服務的類。我需要這種體系結構,因爲Windows服務中的代碼需要以與API的調用方不同的用戶/賬戶運行(該賬戶將在安裝時創建)。公開.Net服務
我的計劃是通過COM公開Windows服務類(regasm.exe註冊和tlbexp.exe創建類型庫),然後通過COM調用GAC DLL中的類(通過tlbimp.exe導入) 。但是我從tlbimp得到以下錯誤:
TlbImp:error TI0000:System.Runtime.InteropServices.COMException - 類型庫''是從CLR程序集導出的,不能作爲CLR程序集導入。
這意味着我的方法不會輕鬆工作。我只能認爲我可能需要一個C++ DLL作爲我的GAC DLL來調用COM調用的橋樑,但這似乎是一個討厭的解決方案。
我基本上在尋找建議。有誰知道如何將.NET中編寫的Windows服務的類暴露給其他.Net代碼?