簡體   English   中英

將DLL安裝到GAC

[英]Installation of dll's into GAC

我希望順利,高效地安裝該解決方案,但是我所“繼承”的內容遠非如此,編寫大部分內容的人已經離開了公司。

目前,我正在嘗試將其安裝在測試服務器上,並且並非所有dll的土地都在安裝后的正確位置。

首先,如果我在項目中使用log4net,則安裝后需要在文件夾中使用log4net.dll(我想)。 如何獲取要與項目dll復制的log4net.dll?

其次,Project A期望Project C的dll在GAC中,所以當我在Visual Studio中調試並檢查從何處加載模塊時,似乎是這樣。 我還看到這是在項目A的構建后事件命令行中輸入的:

“ C:\\ Program Files(x86)\\ Microsoft SDKs \\ Windows \\ v7.0A \\ Bin \\ NETFX 4.0 Tools \\ x64 \\ GacUtil.exe” -i“ $(TargetPath)”復制“ $(TargetPath)”“ C:\\程序文件\\ MySolution \\ bin“

那么,如何通過安裝將Project C的dll放入GAC? 我在測試服務器上收到錯誤,因為它無法加載C.dll。

更新更多細節

使用Windows Installer安裝解決方案后,將在父文件夾中創建一些文件夾,例如Apps,bin,Engines,Service等。

在Apps文件夾中,我有A.exe,它正在尋找C.dll。 但是,C.dll落在bin文件夾中。 作為A.exe時的執行過程中,如上所述,它實際上加載C.dll從GAC模塊(和我的筆記本電腦,這些文件在GAC因為在項目的屬性中指定的生成后事件命令行C,但不在我要安裝此解決方案的測試服務器的GAC中)。

所以,是的,我想我可以運行以下命令:

gacutil -i C.dll

安裝后,但似乎不正確。

與GAC有關的問題分為兩部分,並確保復制了DLL。

廣汽集團

從MSDN上查看此鏈接( https://msdn.microsoft.com/zh-cn/library/dkkx7f79%28v=vs.110%29.aspx ),了解如何安裝到GAC中。 關鍵是它必須被重命名,否則將失敗。

DDL文件

根據您引用Log4Net的方式,有幾種方法可以做到這一點。

  • 如果可以在項目中添加引用,請確保將屬性CopyLocal設置為true
  • 如果只是本地文件,則可以使用符號鏈接( https://support.microsoft.com/en-us/kb/306234 )將其添加到項目的子文件夾中,然后設置CopyToOutputDirectory屬性。

希望這些可以幫助您。

我找到了想要的東西! 選擇安裝項目,然后轉到菜單“視圖”->編輯器->文件系統。 看來您可以指定dll必須運往何處,以及在安裝過程中應將哪些內容復制到GAC。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM