将程序集安装到GAC中

时间:2011-04-02 03:51:00

标签: c# .net gac .net-assembly

我尝试使用在GAC中安装程序集 new System.EnterpriseServices.Internal.Publish().GACInstall("Foo.dll");但我找不到安装在c:\ windows \ assembly \ gac_msil文件夹中。我也没有收到securityexception。任何人都可以帮助我

1 个答案:

答案 0 :(得分:11)

首先,确保它已签名。我认为这是因为你没有得到任何例外。 此外,如果它是.net 4.0程序集,它将在新位置进行GAC处理@%windir%\ Microsoft.NET \ assembly \

有关此内容的更多信息:.NET 4.0 has a new GAC, why?

更新:签署程序集

右键单击Assembly项目并转到“Properties”。在“项目属性”屏幕上,选择“签名”选项卡。选中“签署程序集”,然后在“选择强名称密钥文件”中选择“新建”。这将打开一个对话框,您必须在其中指定密钥名称。我通常使用解决方案名称作为我的密钥名称。您也可以使用密码保护密钥(您的偏好)。完成后,在对话框中单击“确定”并构建项目。现在尝试再次GAC。

快速建议:如果您希望GAC项目中有多个程序集,则可以共享相同的密钥文件,而不是为每个组件生成一个新的程序集。我通常将我的密钥文件放在我的解决方案文件所在的同一位置,并在解决方案中的项目之间共享。