在WinForms中,.NET中的整个许可模式围绕LicenseManager
和LicenseProvider
展开,如this article中提到的那样。
我在WinForm中有一个简单的测试表单(在那里删除了许可的DevExpress的ButtonEdit),使用下面的代码我可以看到它获得的许可证信息很好:
var license = LicenseManager.Validate(typeof(ButtonEdit), this);
我还可以看到它有自动生成的licenses.licx文件并添加到我的项目中。
所以,我尝试将DevExpress / Telerik WPF控件放入我的示例WPF窗口,我可以看到licenses.licx文件不是自动生成的。
因此,如果我尝试在WPF中运行相同的行,license
将返回null。这意味着它没有在WPF中使用整个LicenseManager体系结构。
然后检查第三方组件的许可证有什么用?
看起来有人报了bug in VS 2010 in regards to this,但我使用的是VS2010。
答案 0 :(得分:1)
WPF也使用相同的机制。您只需将 LicenseProvider 属性应用于您的班级。
由于某些其他原因,可能无法在项目中生成licx文件。
答案 1 :(得分:1)
刚刚发现我用于测试works without license keys的第三方控件之一(Telerik)(滚动到“如何许可您的开发人员许可证?”部分)。
检查DevExpress并向Telerik提出支持票,他们已确认他们不使用licx进行WPF控制。