C# .NET Core/.NET 5中的licenses.licx替换
一段历史: licenses.licx及其支持基础设施(如许可证编译器、许可证提供商等)是为第三方组件提供许可证支持的一种方式 在生成时,此文件(C# .NET Core/.NET 5中的licenses.licx替换,c#,.net-core,licensing,.net-5,licenses.licx,C#,.net Core,Licensing,.net 5,Licenses.licx,一段历史: licenses.licx及其支持基础设施(如许可证编译器、许可证提供商等)是为第三方组件提供许可证支持的一种方式 在生成时,此文件(licenses.licx)由许可证编译器编译并嵌入到生成的.NET程序集中。然后在运行时可以检查是否有适当的许可信息可用,从而控制需要商业许可的组件的使用 换句话说,相同的库程序集可以在产品的试用版和完整版中使用,并且它们的行为(例如试用版显示nag消息等)仅基于嵌入到正在执行的程序集中的许可信息 许可证编译器从未被移植到.NET核心世界,而且似乎也
licenses.licx
)由许可证编译器编译并嵌入到生成的.NET程序集中。然后在运行时可以检查是否有适当的许可信息可用,从而控制需要商业许可的组件的使用
换句话说,相同的库程序集可以在产品的试用版和完整版中使用,并且它们的行为(例如试用版显示nag消息等)仅基于嵌入到正在执行的程序集中的许可信息
许可证编译器从未被移植到.NET核心世界,而且似乎也没有计划在.NET6中恢复它
没有使用dotnet build
/dotnet publish
命令编译许可证的内置方法。这会产生重大后果,例如,无法使用Visual Studio Docket工具发布应用程序(其中一个步骤是dotnet构建
执行)
所以问题是:
在.NET Core/.NET 5中是否有许可证管理的替代品?
理想情况下,它允许在运行时根据构建时嵌入到程序集中的come信息检查许可证。您自己回答说,您可以在3年前将任何
licx
文件添加为嵌入式资源licx
文件从未被视为严重的授权功能,如果您检查了许可证,它几乎什么都不会做。它只检查是否存在错误。该文件包含组件的完整类型名。如果您想要基本的保护,您必须创建自己的提供商来检查许可证文件是否使用特定的公钥签名