.NET Licensing

来源:互联网 发布:mac系统游戏推荐 编辑:程序博客网 时间:2024/04/20 15:05

最近因为需要测试LC,所以研究了一下Windows类和一般控件的Licensing。网上有一篇很好的入门文章: http://windowsclient.net/articles/Licensing.aspx ,我这篇主要知识都来自它,这里只是简要记录一下免得以后忘掉。

就以类的Licensing来说,关键点在于文章所说

  • The LicenseProviderAttribute
  • The private license field
  • The line in the constructor that fills the license
  • Disposing the license in Dispose

.NET 提供一个基本的验证方式LicFileLicenseProvider,基于LIC文件的验证,当调用控件时执行到Validate时,这个验证者寻找以该类全称为文件名的.LIC文件,这里的例子是Licensing.LicensedClass.LIC,并验证该文件内容是类似

Licensing. LicensedClass is a licensed component.的格式。

所以这里LIC相当于使用该控件的key。

 

在调用者项目里需要LC.exe编译.licenses文件时,除了被调用的dll还需要.LIC文件放在同一目录下,并且需要一个.licx文件用于指定需要编译的license key, 内容格式是

<Namespace>.<Class name>,<Assembly name without file extension>

编译过的licenses文件嵌入目标assemly之后就不再需要文本的.LIC。