Belirli geliştirici bilgisayarlara lisanslanması gereken bir sınıf kitaplığı geliştiriyorum. Tasarım zamanı lisanslama kontrollerinin yapılamayacağı bir bileşen yoktur.başvurulan sınıf kitaplığından yürütme yöntemini çalıştırmadan önce lisans denetimi için .NET uygulaması
Bu kontrol saf sınıf kitaplıkları için aslında kullanılamaz: Design-Time validation of library
Ama:
if(LicenseContext.UsageMode == LicenseUsageMode.Designtime) ...
Bir lib geliştirici makinesinde kullanılması durumunda kontrol etmek Debugger.IsAttached kullanmak önerdi Yapılandırma aşamasında bir çözüm arıyorum, böylece lisans geçersiz ise program oluşturulmaz (eG bu makine lisanslı değildir). Baska öneri?
"Bu denetim aslında saf sınıf kitaplıkları için kullanılamıyor". Eh, bu _available_ (yani hala 'System.dll' nin bir parçası) :-) Bu sadece bir _meaningless_ sanırım, bu denetimi içeren bir yöntem (lib'inizde) sürece .UsageMode 'her zaman' LicenseUsageMode.RunTime 'dönecektir Bir kontrol/bileşenin tasarım zamanı kodundan çağrılır. – Sepster
Lib, geliştiricilerin uygulamasının tüketicileri için serbestçe kullanılabilir mi? Bu durumda, geliştiriciyi, lib'in ücretsiz bir sürümünü elde etmekten ve buna karşı geliştirmekten vazgeçen bir şey var mı? Bu arada +1 ... Yanıtları aldığınızı görmek istiyorum. – Sepster
Belki CodeContracts ile bazı varyasyonlar size yardımcı olacak? – Daniil