8

Sto usando un ComponentOne FlexGrid, ha registrato automaticamente nella sua licenzaerrore di debug: Licenses.licx: in grado di risolvere il tipo

C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2, Version=2.6.20122.716, Culture=neutral, PublicKeyToken=79882d576c6336da

Io uso anche un controllo personalizzato che eredita il C1FlexGrid, ma in fase di esecuzione il tentativo di registrare

DataTree.C1FlexDataTree, fpstudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

nel file di licenza, che alla fine crea un errore:

Error 51 Unable to resolve type 'DataTree.C1FlexDataTree, fpstudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' C:_DEVELOPMENT_FP_DRAFT12\COMPONENT1_WORKING_MERGED\fpstudio\Properties\licenses.licx 3 Freepour Studio

Come posso dire a questa classe di non provare a concedere in licenza il controllo poiché è già ereditato e ha la licenza stessa. Ho già rimosso [LicenseProvider()] dalla classe DataTree

+0

Non so se questo finirà per aiutarti, ma ogni volta che abbiamo problemi di ComponentOne con le licenze, creiamo solo un modulo vuoto, aggiungiamo i componenti corretti, quindi ricompiliamo l'applicazione. ComponentOne aggiungerà quindi correttamente le licenze al file. In alternativa, sei sicuro di fare riferimento alla versione giusta? Hai provato "Versione specifica" = falso sul riferimento? – Corey

+0

Avete la proprietà Compile operation impostata su 'Embedded Resource' per le licenze.licx? – Steve

+0

'Build Action: Embedded Resource' è quello che ho. Penso che la risposta di @ notacat sia corretta. Non puoi impedirlo, ma puoi semplicemente modificare il file licenses.licx per rimuovere la voce offensiva (nel mio caso, la classe che ho creato che estende il componente di terze parti con licenza). Sarà aggiunta in seguito ogni volta che modifico un modulo che utilizza quel componente, ma può essere rimossa. Fastidioso, ma abbastanza semplice. – JMD

risposta

2

Penso che l'unico modo per farlo sia modificare manualmente il file licenses.licx e rimuovere DataTree.C1FlexDataTree da lì. Nota, VS modifica automaticamente il file licenses.licx quando lavori con moduli e controlli nel designer. Se chiudi tutte le finestre del designer e modifichi manualmente il file licx, le tue modifiche verranno salvate e potrai evitare problemi. Il problema più comune con i file licx è l'errore di generazione dopo aver aggiornato i controlli ad un'altra versione. Per evitarlo, puoi semplicemente rimuovere la versione e le informazioni del token della chiave pubblica da questo file. Dopo di ciò funzionerebbe con qualsiasi versione. Cioè si licenses.licx contenuto del file dovrebbe essere simile a questo:

C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2 
DataTree.C1FlexDataTree, fpstudio 

(o senza DataTree.C1FlexDataTree line). Nota: se si apre la finestra di progettazione per apportare alcune modifiche, VS può modificare di nuovo questo file. Non c'è modo di impedirlo. Dovrai modificare il file ancora una volta.

2

Questo è un problema ... Suggerisco di installare il pacchetto nuget EmptyLicensesLicx e si accerterà che ci sia uno Licenses.licx vuoto nel progetto, prima che venga compilato (che è tutto ciò che serve).

+0

Wow! Grazie molto! – Aviva

Problemi correlati