【问题标题】:How to package a library with external references?如何打包带有外部引用的库?
【发布时间】:2016-08-06 19:42:32
【问题描述】:

我正在从包装控制台应用程序的库中为 NuGet 创建一个包。我如何为这个控制台程序提供我正在创建的库?控制台 .exe 需要在构建之后与库位于同一目录中,但在构建期间不需要。

我不相信我可以将它放在“lib”文件夹中,因为它不是引用程序实际上可以首先引用的东西,也不是“content”文件夹,因为在构建过程之后需要它,期间没有。

我是否必须让用户单独下载控制台应用程序并将文件名提供给库?或者有什么方法可以让我在 NuGet 中轻松实现这一需求?

【问题讨论】:

    标签: c# .net package nuget


    【解决方案1】:

    Nuget 包不适用于部署可执行文件。 Nuget 的目的是简化您需要作为参考包含在编码项目中的其他库的部署。此外,我不确定控制台应用程序是什么意思,但如果这是一些实际的第 3 方控制台程序而不是 Windows 中的命令提示符,这意味着最终用户只需要双击并运行应用程序,那么你要么需要使用 InstallShield 或 VS 提供的安装程序之一创建安装程序。此外,您可以查看用于应用程序分发和部署的巧克力。

    Chocolatey

    【讨论】:

    • 控制台应用程序的工作方式是最终用户使用库与命令行工具交互,而不是相反。该库提供工具参数并运行它,并在托管环境中处理它。用户从不运行.exe文件,库本身是命令行工具和引用该库的项目之间的接口。
    • 哦,我明白了,在这种情况下,您可以将 exe 文件打包到 Nuget 包中并像这样部署它。 Selenium Web 驱动程序通过 Nuget 部署 Web 驱动程序 exe。它只是将 exe 复制到包的根文件夹中,但我认为它需要一些额外的脚本才能使其工作。不过,我从来没有像这样使用过 Nuget。
    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多