调试错误:Licenses.licx:无法解析类型

rom*_*dev 10 licensing componentone winforms licenses.licx emptylicenseslicx

我使用的是ComponentOne FlexGrid,它会在许可证中自动注册

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

在许可证文件中,最终会产生错误:

错误51无法解析类型'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

我怎么能告诉这个类不要尝试许可控件,因为它已经被继承并且自己获得许可.我已经[LicenseProvider()]从DataTree类中删除了

Cai*_*ete 5

这很痛苦...我建议您安装EmptyLicensesLicx nuget程序包,它会确保项目中有一个空文件Licenses.licx,然后再对其进行编译(这是您所需要的)。


not*_*cat 2

我认为唯一的方法是手动编辑 licenses.licx 文件并从那里删除 DataTree.C1FlexDataTree 。请注意,当您在设计器中使用表单和控件时,VS 会自动编辑 licenses.licx 文件。如果您关闭所有设计器窗口并手动编辑 licx 文件,您的更改将被保存,您可以避免出现问题。licx 文件最常见的问题是将控件更新到其他版本后出现构建错误。为了避免这种情况,您只需从此文件中删除版本和公钥令牌信息即可。之后它将适用于任何版本。即,licenses.licx 文件内容应如下所示:

C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2
DataTree.C1FlexDataTree, fpstudio
Run Code Online (Sandbox Code Playgroud)

(或没有 DataTree.C1FlexDataTree 行)。注意,如果你打开设计器做一些改变,VS可以再次编辑这个文件。没有办法阻止这种情况。您必须再次编辑文件。