我试图将许可证保存到这样的文件中:
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);
答案 0 :(得分:1)
我从未真正使用过此库,但Portable.Licensing.LicenseBuilder
(可能)是license.ToString()
的结果。
查看他们的教程,他们实际上是调用方法CreateAndSignWithPrivateKey(..,...)
,这是一个返回License
而不是LicenseBuilder
的实例的方法。
这是关键,因为License
类会覆盖ToString()
方法并返回从许可构建器类的结果生成的xml数据。
是的,所以这看起来有点复杂,但基本上License.New()
会返回ILicenseBuilder
。这不是Save
方法,而是License
方法。\
现在我们可以为您提供帮助,因为您需要为我们提供一些关于license
究竟是什么的代码。