.net 发布内含可执行文件的nuget包,nuget.org
我是个好人,我想为你做贡献 我有一项任务无法用.NET解决(将.net 发布内含可执行文件的nuget包,nuget.org,.net,package,nuget,executable,publish,.net,Package,Nuget,Executable,Publish,我是个好人,我想为你做贡献 我有一项任务无法用.NET解决(将.pdf转换为.html,但这不是要点,它可能是任何其他任务),但使用Python很容易处理。因此,我编写了一个.py脚本,将其转换为单文件可执行文件,在.NET中编写了一些包装,它就在那里工作了 包装器基本上只是将可执行文件卸载到硬盘上的某个地方,通过命令行参数调用它并获得响应 现在,我该如何发布这个内部带有可执行文件的nuget 这是允许的吗 这个主意是不是太糟糕了,以至于我把整件事都扔掉了 我是否以某种方式明确警告用户该库包含
.pdf
转换为.html
,但这不是要点,它可能是任何其他任务),但使用Python很容易处理。因此,我编写了一个.py
脚本,将其转换为单文件可执行文件,在.NET中编写了一些包装,它就在那里工作了
包装器基本上只是将可执行文件卸载到硬盘上的某个地方,通过命令行参数调用它并获得响应
- 现在,我该如何发布这个内部带有可执行文件的nuget
- 这是允许的吗
- 这个主意是不是太糟糕了,以至于我把整件事都扔掉了
- 我是否以某种方式明确警告用户该库包含一个可执行文件,该文件将被复制到他们的硬盘上
- 提供指向.py脚本代码的链接(在哪里?)
- 以及某种验证(如何验证?)这段代码实际上是可执行文件中的内容
description
标记提供软件包的全面描述。此说明将显示在nuget.org上,以及大多数客户端中
提供指向.py脚本代码的链接(在哪里?)
您可以通过projectUrl
标记提供指向项目站点的链接,在该标记中,您可以深入了解详细信息并提供源代码。另一种选择是将其作为内容文件包含以供参考,但有人查看它的可能性很小,并且不能证明您的可执行文件是从该脚本构建的
以及某种验证(如何验证?)这段代码实际上是可执行文件中的内容
这一切都归结为一个问题,你怎么能相信一个包裹你不能
软件包可能会带来安全风险,因为它们可能会执行任意代码或将恶意代码带入应用程序。您可以作为消费者自己检查所有文件,也可以依赖您信任的来源或作者。提供信任的一种方法是通过防止内容篡改来确保包的完整性。同样,这并不能验证可执行文件是如何构建的
现在,我该如何发布这个内部带有可执行文件的nuget
这是惯例。NuGet包允许各种工件,如源文件、图像、XML文件、MSBuild的构建脚本、工具可执行文件、PowerShell脚本以及任何类型的二进制文件,包括库和可执行文件
这是允许的吗
NuGet是一个包管理器。至于软件包本身,微软的报告并不十分清楚什么是有用的代码或内容
任何现代开发平台的基本工具都是一种机制,通过该机制,开发人员可以创建、共享和使用有用的代码。通常,此类代码被捆绑到“包”中,其中包含编译代码(如DLL)以及使用这些包的项目所需的其他内容
许多主流NuGet软件包都包含可执行文件,例如,它包含一个完整的Chromium浏览器,甚至是微软自己的,它包含多个OpenSSL、Boost或Brotli的可执行文件,以及一个用于复制文件的PowerShell脚本等等。顺便说一句,这是在MSDN上构建本机NuGet包的主要示例
这个主意是不是太糟糕了,以至于我把整件事都扔掉了
不,即使它从一开始就不打算打包可执行文件,但它已经成为一种常见的做法。每个使用NuGet的人都应该意识到他们正在使用库和其他可能有害的工件。如何确保您使用的DLL安全
我是否以某种方式明确警告用户该库包含一个可执行文件,该文件将被复制到他们的硬盘上
如果你看上面的包,没有任何关于con的通知