我试图找到一种通过C#代码从GAC安装和卸载dll的方法,但我唯一能找到的就是" Gacutil.exe"以及" 39;很不清楚如何使用它。
有一种更好的方法可以从GAC安装\卸载文件。 感谢
答案 0 :(得分:0)
您可以使用PowerShell for example。 或者正如你所说使用gacutill,但Micsrosoft说:
Gacutil.exe仅用于开发目的,不应用于将生产程序集安装到全局程序集缓存中。
在我看来,最好的方法是使用安装程序来完成这项工作。 只应在安装期间添加进入GAC的库,并且仅在卸载期间将其删除。
Here是如何设置安装程序的示例。我认为其他安装人员也应该这样做。
经过研究我发现:(因为你想要c#代码;-))
将程序集安装到GAC中:
new System.EnterpriseServices.Internal.Publish().GacInstall("MyAssembly.dll");
从GAC卸载程序集:
new System.EnterpriseServices.Internal.Publish().GacRemove("MyAssembly.dll");
答案 1 :(得分:0)
在项目文件中,您可以在构建后自动GAC程序集,方法是将以下内容放入Post-Build事件中。
" C:\ Program files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin \ GacUtil.exe" -i" $(TargetPath)"
以同样的方式将uninstall cmd添加到prebuild。