我正在开发一个应该授予特定开发人员计算机的类库。没有组件,因此无法完成设计时间许可检查。在构建用于许可证检查的.NET应用程序之前,从引用的类库执行方法
该检查实际上是不可用纯类库:
if(LicenseContext.UsageMode == LicenseUsageMode.Designtime) ...
人提出使用Debugger.IsAttached以检查lib是开发机上使用: Design-Time validation of library
但我在构建阶段寻找解决方案,这样如果许可证无效(例如,该机器未获得许可证),程序将无法构建。有什么建议么?
“这个检查实际上对于纯类库不可用”。嗯,它是_available_(即它仍然是'System.dll'的一部分):-)这只是_meanless_我认为,因为'.UsageMode'将始终返回'LicenseUsageMode.RunTime',除非包含此检查的方法从控件/组件的设计时代码调用。 – Sepster 2013-03-24 19:51:09
开发人员的应用程序的用户是否可以(免费)使用该库?在这种情况下,是否有任何东西阻止开发人员获得免费版本的lib并针对该版本进行开发? +1顺便说一下......我很想看看你得到了什么回应。 – Sepster 2013-03-24 20:06:14
也许CodeContracts的一些变化会帮助你? – Daniil 2013-03-25 00:31:01