Portable.Licensing - 将许可证保存到文件

时间:2017-02-26 23:35:28

标签: c#

我试图将许可证保存到这样的文件中:

File.WriteAllText(theSaveFileDialogBox.FileName, license.ToString(), Encoding.UTF8);

如此处所示:

http://dev.nauck-it.de/projects/portable-licensing/wiki/GettingStarted

但是我的保存文件的内容总是只是

  

Portable.Licensing.LicenseBuilder

好像ToString()方法没有被覆盖。此外,Save()方法甚至不会显示为license的成员。有什么想法吗?

更新

问题是我试图按部件构建许可证,因此:

var license = Portable.Licensing.License.New().WithUniqueIdentifier(Guid.NewGuid());

if (lic_type_box.Text == "Trial") license.As(LicenseType.Trial);
else if (lic_type_box.Text == "Full") license.As(LicenseType.Standard);

int days;
if (int.TryParse(lic_days.Text, out days)) license.ExpiresAt(DateTime.Now.AddDays(days));    
if (lic_name.Text != "") license.LicensedTo("lic_name.Text", "");  
license.CreateAndSignWithPrivateKey(privateKey, passPhrase);

当最后一行确实是

var createdLicense = license.CreateAndSignWithPrivateKey(privateKey, passPhrase);

然后

File.WriteAllText(theSaveFileDialogBox.FileName, createdLicense.ToString(), Encoding.UTF8);

1 个答案:

答案 0 :(得分:1)

我从未真正使用过此库,但Portable.Licensing.LicenseBuilder(可能)是license.ToString()的结果。

查看他们的教程,他们实际上是调用方法CreateAndSignWithPrivateKey(..,...),这是一个返回License而不是LicenseBuilder的实例的方法。

这是关键,因为License类会覆盖ToString()方法并返回从许可构建器类的结果生成的xml数据。

是的,所以这看起来有点复杂,但基本上License.New()会返回ILicenseBuilder。这不是Save方法,而是License方法。\

Michele Simionato

License.cs

现在我们可以为您提供帮助,因为您需要为我们提供一些关于license究竟是什么的代码。