Licenses.licx对DevExpress控件有什么作用?

mku*_*kus 17 .net devexpress

Licenses.licx对DevExpress控件有什么作用?我删除了licenses.licx中的所有行,没有区别.我成功编译并运行了我的应用程序.我对这种行为感到很惊讶.谁能解释一下有关正在发生的事情的细节?

Mik*_*ail 8

在DX论坛上看一下这篇文章:

licenses.licx文件包含有关应用程序中使用的控件的许可信息.然后将其编译到App_Licenses.dll中.在部署项目时,它应与您的网站一起部署.如果需要重新生成App_Licenses.dll,请右键单击解决方案资源管理器中的licenses.licx文件,然后选择"构建运行时许可证"命令.


Jen*_*ter 5

DX博客上看到,许可证文件是由Visual studio在设计时生成的,并在编译时烧录到程序集中的。

Licenses.licx 实际上是您解决方案中的一个文件(如果您在那里看不到它,请单击“显示所有文件”)。Visual Studio 使用名为 lc.exe 的程序将许可证编译到应用程序中的嵌入式资源中

如果需要,您可以更改其值:

以下是licenses.licx 文件中的一行的示例。

DevExpress.XtraCharts.Web.WebChartControl、DevExpress.XtraCharts.v8.2.Web、版本=8.2.4.0、文化=中性、PublicKeyToken=9b171c9fd64da1d1

此逗号分隔列表中的第一个值是类,第二个值是找到它的程序集,其他值是程序集强名称的其余部分。我确信您已经看到了问题,尤其是当您将解决方案升级到您使用的第三方控件的最新版本时。如果需要,您可以编辑此文件并毫无问题地删除强名称部分。

请注意,在源代码控制方面存在已知问题:

问题是,如果您打开解决方案,Visual Studio 倾向于触摸此文件(即“触摸”,如将文件日期更改为当前日期/时间)。这会对许可造成严重破坏,特别是如果您碰巧在未经许可的计算机上打开解决方案并且正在使用源代码控制。突然间,您的构建机器将抛出这些“无法转换”消息,您会想知道出了什么问题。另一个普遍的问题是,当您有一个开发团队致力于解决方案时:他们都在无意识地“修改”此文件。