我试图将一些代码部署到客户端计算机上,而我不想在该计算机上安装MS Windows SDK工具。这意味着无权访问“gacutil”。我也没有为我的代码创建安装程序。似乎这些可能是.net 4.0中仅有的两个选项。

过去,我只是简单地开始,运行,键入“assembly”,然后将dll拖放到其中。

这不再可能了吗?当我尝试执行此操作时,未收到任何错误消息,但dll未出现在“assembly”文件夹中。当我在开发机器上使用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)
然后使用这些命令分别卸载和重新安装。注意我在卸载命令中未包含.dllgacutil /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"

关于.net - 将DLL拖放到Windows Server 2008 .net 4.0中的GAC (“assembly”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7787607/

10-12 17:16