创建强命名程序集的WebPart

(一)创建强命名程序集:

1:使用强命名工具(Strong Name Utility)产生密钥对。

    例如:SN -k MyCompany.keys

2:在源代码Assembly.cs中设置AssemblyKeyFile属性

[assembly:AssemblyKeyFile("MyCompany.keys");

3:重新编译,产生的程序集就是经过签名后的程序集了。

(二)获得生成的动态链接库的公钥

获取公钥 Public Key示例
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin>
sn -T C:\Inetpub\YoungSem\Powerise.YoungSem.AD.ChangeMyPassWord\Powerise.YoungSem.AD.ChangeMyPassWord.dll

(三)写入...dwp文件

<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
    
<Title>更改当前用户登录密码</Title>
    
<Description>更改当前登录域用户的登录密码</Description>
    
<Assembly>Powerise.YoungSem.AD.ChangeMyPassWord, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d745594e7c96c5bb</Assembly>
    
<TypeName>Powerise.YoungSem.AD.ChangeMyPassWord.ChangePassword</TypeName>
    
<!-- Specify initial values for any additional base class or custom properties here. -->
</WebPart>

(四)压缩Cab包
使用 Cabinet Manager  压缩下列文件
            WebPart1.dwp
            Manifest.xml
            生成的动态链接库
            添加的资源文件

(五)导入SharePoint
使用Stsadm将WebPart导入SharePoint,也可以使用StsAdm图形化工具导入。

附:部署强命名程序集(全局部署):

如果希望一个程序集被多个应用程序访问,则程序集必须被放到一个CLR已经确知的目录下,从而能够自动到该目录找到该程序集。这个确知的目录称作全局程序集缓存(Global Assembly Cache),通常位于:C\Wndows\Assembly下。

我们可以使用工具GACUtil.exe,指定/i命令开关将一个程序集安装到GAC中。同样可以使用/u命令开关将一个程序集从GAC中卸载。注意:安装的程序集必须是强命名程序集。

原文地址:https://www.cnblogs.com/zygoses2gether/p/444830.html