缺少 ComponentOne Licenses.licx 文件
我正在开发一个广泛使用 ComponentOne 的 C1FlexGrid 的应用程序。 在我们使用的数十个应用程序中,有三个缺少其licenses.licx 文件,导致在我启动应用程序时弹出演示启动屏幕。
有什么方法可以确定哪些形式导致了这种行为。 除了手动检查数百个目录之外,我没有找到办法。
I'm working on an application that makes extensive use of ComponentOne's C1FlexGrid. Of the dozens we use, three are missing their licenses.licx file and cause the demo splash screen to pop up while I'm starting the application.
Is there any way to determine which forms are causing this behavior. Short of checking hundreds of directories by hand, I don't see a way.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
根据微软文档,只有可执行程序集需要licenses.licx。 其中包含表单的 Dll 程序集仍会创建一个,但会被忽略。 这也是我的经历。 我建议在设计器视图中打开每个表单并在该视图中重建。 这通常会将所有缺少的许可证条目添加到许可证.licx 中。 但是,它不会更新现有条目。 如果您更新了组件,这可能会成为问题。 对于ComponentOne,您通常可以编辑licenses.licx并删除程序集名称后面的版本信息。 其他一些第三方组件更加挑剔,在编译时触摸它们的版本信息会导致错误。
在我看来,.NET 许可框架很麻烦,对开发人员来说是不必要的负担。 有更简单的方法可以确保组件许可证得到尊重。
According to Microsoft documentation only the executable assembly requires a licenses.licx. Dll assemblies with forms in them will still create one but it is ignored. This has been my experience as well. I would suggest opening each form in the designer view and rebuilding while in that view. This will usually add any missing license entries to the licenses.licx. It will not, however, update existing entries. This can be a problem if you've updated your components. For ComponentOne, you can usually edit the licenses.licx and remove the version information after the assembly name. Some other third party components are more finicky and touching their version info causes errors when you compile.
In my opinion the .NET licensing framework is cumbersome and an unnecessary burden on developers. There are far easier ways to ensure component licenses are respected.
您不必打开每个表格。 每个项目都有一个 licenses.licx 文件。 只需确保这些文件中引用了 C1FlexGrid,然后进行完全重建(Build | Rebuild All)。
这应该可以解决这个问题。
You don't have to open every form. Each project has a single licenses.licx file. Just make sure the C1FlexGrid is referenced in those files and then do a full rebuild (Build | Rebuild All).
That should take care of the issue.
有时,打开表单并重建整个解决方案甚至不起作用。 所以在这种情况下。 只需将一些 ComponentOne 控件从工具箱拖放到您的窗体中(您可以随后将其删除)。 此拖放操作将在 Properties 文件夹中自动生成 licenses.licx。
Sometimes, opening forms and rebuilding whole solution even does not works. So in this situation. Just drag-drop some ComponentOne control from toolbox to your form (you may delete it afterwards). This drag-drop will generate licenses.licx automatically in Properties folder.
ComponentOne 有一个实用程序,可以为现有项目(重新)生成licenses.licx 文件。
来源文章:https://www.grapecity.com /blogs/licensing-and-licenses-licx-file-licxgenerator-tool
说明:
ComponentOne has a utility program which will (re)generate the licenses.licx file for an existing project.
Source article: https://www.grapecity.com/blogs/licensing-and-licenses-licx-file-licxgenerator-tool
Instructions: