2011-04-02 129 views
8

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

回答

11

首先,确保它已签名。我认为这是因为你没有得到任何例外。 .NET 4.0 has a new GAC, why?

UPDATE:签约大会

此外,如果它是一个.NET 4.0组件,将在新的位置@%WINDIR%\ Microsoft.NET \装配\

更多关于此这里GACed

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

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

+0

感谢您的信息。我有.net3.5,并在Windows资源管理器(C:\ windows \ assemby)中检查,我无法找到它。但我不知道签名。你可以让我知道如何签署一个托管的DLL – 2011-04-02 03:58:38

+0

当然。我只是通过快速指示更新了我的回复。 – 2011-04-02 04:07:52

+0

工程谢谢你。 – 2011-04-02 04:37:07

相关问题