如何使用Nuget软件包分发可执行文件



我们有几个non-.net exes(例如,phantomjs),我们通过Process类从.NET Web应用程序执行。

我想将这些exes包装到nuget软件包中,以便它们可以可靠地位于不同的环境(Web应用程序,控制台应用程序和单元测试)中,而无需在某些魔术位置中预先放置每个潜在必需的版本每台机器。

是否有建议在Nuget中这样做的方法?

一种有效但似乎有点笨拙的方法是将EXE嵌入包装器.NET DLL中,然后在运行时将其提取到文件系统中。我想知道是否有更简单的方法。

您可以将可执行文件添加到Nuget软件包的content文件夹中。在项目上安装软件包时,可执行文件将在项目中以文件显示。来自Nuget文档:

content文件夹中的文件已复制到您的应用程序的根部 安装软件包时。

内容文件夹视为根 例如,您的目标应用程序。 目标应用程序的/images目录中的图像,请确保 将图像放在包装的Content/images文件夹中。

您可以在Nuget软件包中添加install.ps1脚本以配置项目以将可执行文件复制到输出目录,如回答此问题中所述。

最新更新