Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET 5.0 LGPL自包含可执行文件_.net_.net Core_.net 5 - Fatal编程技术网

.NET 5.0 LGPL自包含可执行文件

.NET 5.0 LGPL自包含可执行文件,.net,.net-core,.net-5,.net,.net Core,.net 5,.NET5.0构建自包含的可执行文件,它不会将文件提取到磁盘 这意味着,如果您有一个LGPL包,它将被链接到可执行文件中,并且它要求您的应用程序也是LGPL 是否有任何选项可以阻止将LGPL dll链接到自包含的可执行文件中 谢谢。解决方案是使用属性includealcontentforselfextract。 这将恢复与.NET Core 3.1中类似的文件提取行为 解决方案是使用属性includealcontentforselfextract。 这将恢复与.NET Core 3.1中类似的文

.NET5.0构建自包含的可执行文件,它不会将文件提取到磁盘

这意味着,如果您有一个LGPL包,它将被链接到可执行文件中,并且它要求您的应用程序也是LGPL

是否有任何选项可以阻止将LGPL dll链接到自包含的可执行文件中


谢谢。

解决方案是使用属性includealcontentforselfextract。 这将恢复与.NET Core 3.1中类似的文件提取行为


解决方案是使用属性includealcontentforselfextract。 这将恢复与.NET Core 3.1中类似的文件提取行为


“它将被链接到可执行文件中,并且要求您的应用程序也是LGPL。”-请提供该声明的来源?这一点并不明显。您可以在此处阅读有关.NET 5.0单文件应用程序的信息:和。NET 5.0单文件应用程序不像以前的版本那样是自解压zip。它加载内存中的所有文件。这意味着磁盘上不存在LGPL包,这意味着它与静态链接的LGPL包相同。所有静态链接到LGPL的东西也必须被授权为LGPL。“它将被链接到可执行文件中,并且它要求您的应用程序也是LGPL。”-请提供该声明的来源?这一点并不明显。您可以在此处阅读有关.NET 5.0单文件应用程序的信息:和。NET 5.0单文件应用程序不像以前的版本那样是自解压zip。它加载内存中的所有文件。这意味着磁盘上不存在LGPL包,这意味着它与静态链接的LGPL包相同。所有静态链接到LGPL的东西也必须被授权为LGPL。这与LGPL有什么关系?是什么让您认为解压缩改变了LGPL需求?您仍然直接部署和使用LGPL库,因此应用程序仍然需要是LGPL。如果你想将eg iTextSharp用于商业目的,你需要以LGPL的形式支付或发布你的应用程序,无论是独立的还是非独立的。因为最终用户可以将库更改为他想要的任何内容。一点也不需要。这样做会破坏应用程序并需要重新编译。这并不重要。您在应用程序中使用了该库。你必须让它成为LGPL。如果你被发现,你将被起诉,并且必须向图书馆的所有者支付损害赔偿金。唯一可以绕过LGPL的方法是,如果你不分发应用程序,例如,如果你将其作为在自己的服务器上运行的服务提供。这就是云提供商对自己的服务所做的——他们使用LGPL库,但不必让自己的服务也使用LGPL,因为他们只允许客户使用它们,不需要重新编译。您只需替换库,这与LGPL有什么关系?是什么让您认为解压缩改变了LGPL需求?您仍然直接部署和使用LGPL库,因此应用程序仍然需要是LGPL。如果你想将eg iTextSharp用于商业目的,你需要以LGPL的形式支付或发布你的应用程序,无论是独立的还是非独立的。因为最终用户可以将库更改为他想要的任何内容。一点也不需要。这样做会破坏应用程序并需要重新编译。这并不重要。您在应用程序中使用了该库。你必须让它成为LGPL。如果你被发现,你将被起诉,并且必须向图书馆的所有者支付损害赔偿金。唯一可以绕过LGPL的方法是,如果你不分发应用程序,例如,如果你将其作为在自己的服务器上运行的服务提供。这就是云提供商对自己的服务所做的——他们使用LGPL库,但不必让自己的服务也使用LGPL,因为他们只允许客户使用它们,不需要重新编译。您只需替换库。