NuGet包依赖项和构建/部署服务器

3
我们正在一个ASP.Net/MVC项目中使用FluentMigrator(一个NuGet包)来维护对我们的SQL Server所做的数据库更改。
“正确”的方法是如何分发包含其他构建工件的NuGet包以供部署使用?我只需要“packages”文件夹吗?
我希望得到的回答不是“在生产环境中使用包管理器并安装Nuget包”。
我不想在部署过程中拉取包(无论是从本地还是非本地源),我希望将正确的包与我的编译代码一起包含进去。
1个回答

3

正确的方法是在构建项目之前先将软件包拉下来,然后假设您的项目引用该程序集,并且复制本地为true,在构建输出中包含该程序集,这应该存储为CI工具中的一个工件。

在构建/部署过程中绝对不应该执行与NuGet相关的任何操作。


我们正在使用Fluent Migrator,除了编译时引用的dll(其中CopyLocal=True),我们还使用来自软件包的exe(以及它所依赖的文件)来推送我们的数据库更改。更明确地说,我们在构建时依赖于该软件包,但在部署时也依赖于该软件包。我不想在部署期间下载该软件包,我想将其与我的应用程序一起分发。 - DonBecker
你能否在VS属性窗口中将.exe文件的构建操作设置为内容?这样它将被视为独立文件并包含在输出中。你也可以将其嵌入为资源,在运行时将其写入磁盘 - 这取决于你需要什么。 - John Rasch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接