8

我使用的ComponentOne FlexGrid的,它會自動在其許可登記調試錯誤:Licenses.licx:無法解析類型

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

我也用的是繼承了C1FlexGrid一個自定義的控制,但在運行時它試圖在許可證文件中,這最終造成了錯誤登記

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

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

我該如何告訴這個班級不要試圖對控制進行授權,因爲它已經被繼承並獲得了授權。我已經從DataTree類刪除[LicenseProvider()]

+0

我不知道這是否會最終幫助你,但是每當我們遇到ComponentOne許可問題時,我們只需創建一個空白表單,添加適當的組件,然後重新構建應用程序。然後,ComponentOne將正確地將許可證添加到文件中。或者,你確定你正在引用正確的版本?您是否在參考文獻上嘗試過「特定版本」= false? – Corey

+0

您是否將該屬性編譯操作設置爲「Embedded Resource」for licenses.licx? – Steve

+0

'構建行動:嵌入式資源'是我所擁有的。我認爲@ notacat的回答是正確的。你不能阻止它,但你可以編輯licenses.licx文件來刪除違規條目(在我的例子中,我創建的類擴展了許可的第三方組件)。它隨後會在我編輯表單使用該組件,但可以重新刪除。令人討厭,但很簡單。 – JMD

回答

2

我認爲唯一的方法是手動編輯licenses.licx文件並從那裏刪除DataTree.C1FlexDataTree。請注意,當您使用設計器中的表單和控件時,VS會自動編輯licenses.licx文件。如果您關閉所有設計器窗口並手動編輯licx文件,您的更改將被保存,您可以避免問題。 將控件更新到其他版本後,licx文件最常見的問題是生成錯誤。爲了避免它,你可以從這個文件中刪除版本和公鑰標記信息。之後,它將適用於任何版本。即您的licenses.licx文件內容應如下所示:

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

(或沒有DataTree.C1FlexDataTree行)。 請注意,如果您打開設計器進行一些更改,VS可以再次編輯該文件。沒有辦法阻止。你將不得不再次編輯文件。

2

這是一種痛苦......我建議你安裝EmptyLicensesLicx NuGet包,它會確保有一個在你的項目中的空Licenses.licx,它被編譯之前(這是你所需要的)。

+0

哇!非常感謝! – Aviva

相關問題