C# 库的设计时验证

C# 库的设计时验证,c#,winforms,C#,Winforms,我有一个库,我想许可和分发 我知道如何为运行时授权类/库。事实上,我已经做过好几次了。我知道如何授权用户控件。我也做过几次 让我困惑的是如何授权一个库(没有拖放用户控件或组件)只用于开发。如何为库授予设计时许可 有什么想法/提示吗?我终于找到了答案。这一点不像我想象的那么明显 您需要查看是否附加了调试器,而不是查找设计时间或运行时属性 把它放到构造函数中(在你的类中有适当的属性),你就可以开始运行了 if (System.Diagnostics.Debugger.IsAttached) {

我有一个库,我想许可和分发

我知道如何为运行时授权类/库。事实上,我已经做过好几次了。我知道如何授权用户控件。我也做过几次

让我困惑的是如何授权一个库(没有拖放用户控件或组件)只用于开发。如何为库授予设计时许可


有什么想法/提示吗?

我终于找到了答案。这一点不像我想象的那么明显

您需要查看是否附加了调试器,而不是查找设计时间或运行时属性

把它放到构造函数中(在你的类中有适当的属性),你就可以开始运行了

if (System.Diagnostics.Debugger.IsAttached)
{
    License L = LicenseManager.Validate(typeof(MyControl), this);
}

我希望这能帮助其他人解决同样的问题


--Jerry

您可以使用LibraryManager.UsageMode来确定是否在设计时运行。我假设您也希望从发布的答案中检查调试运行。

-1
。UsageMode
将始终返回
LicenseUsageMode.RunTime
,除非包含此检查的方法(在库中)是从其他控件/组件的设计时代码调用的,假设项目甚至有一个设计时组件。(例如,引用这个类库的其他类库或控制台应用程序呢?)