將 DLL 拖放到 windows server 2008 .net 4.0 中的 GAC(“程序集”)
我試圖將一些程式碼部署到我不想安裝 MS windows SDK 工具的客戶端機器上。這意味著無權訪問“gacutil”。我也沒有為我的程式碼創建安裝程序。似乎這些可能是 .net 4.0 中僅有的兩個選項。
過去我會簡單地開始、執行、輸入“程序集”,然後將我的 dll 拖放進去。
這不再可能了嗎?當我嘗試這樣做時,我沒有收到任何錯誤消息,但 dll 沒有出現在“程序集”文件夾中。當我在我的開發機器上使用 gacutil 時,它可以正常工作,但 dll 仍然沒有出現。
在 .net 4.0 中,Microsoft 刪除了通過拖放將 DLL 添加到程序集的功能。
相反,您需要使用 gacutil.exe,或者創建一個安裝程序來執行此操作。微軟實際上不推薦使用 gacutil,但我還是走那條路。
要在開發機器上使用 gacutil,請訪問:
Start -> programs -> Microsoft Visual studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt (2010)然後使用這些命令分別解除安裝和重新安裝。注意我沒有包含
.dll在解除安裝命令中。`gacutil /u myDLL
gacutil /i “C:\Program Files\Custom\myDLL.dll”`
要在非開發機器上使用 Gacutil,您必須將執行檔和配置文件從開發機器複製到生產機器。看起來有幾個不同版本的 Gacutil。對我有用的那個,我在這裡找到了:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exeC:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe.config將文件複製到此處或相應的 .net 文件夾;
C:\Windows\Microsoft.NET\Framework\v4.0.30319然後分別使用這些命令解除安裝和重新安裝
"C:\Users\BHJeremy\Desktop\Installing to the Gac in .net 4.0\gacutil.exe" /u "myDLL"
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\gacutil.exe" /i "C:\Program Files\Custom\myDLL.dll"