首页 > 解决方案 > 制作一个旧项目以使用 nuget 包管理器并创建 package.config 文件

问题描述

我目前正在使用过去没有使用 nuget 获取其软件包的旧解决方案,但我正在尝试将其添加到软件交付管道(git 源代码控制)并且它无法恢复软件包。它的工作方式是,它在构建过程中恢复包,在我的情况下,它找不到恢复包的方法。Git 忽略 bin 文件夹,因此不会在源代码管理中检查所有包。我可以删除 bin 文件夹上的 git ignore ,但在此之前我想确定是否有一种简单的方法可以将包添加到 package.config 文件中并在构建过程中恢复。底线是我希望这个旧的 .Net 3.5 项目使用 Nuget,而不是通过在 bin 文件夹中的 csproj 文件中引用它现在如何工作。

标签: .netgitnuget.net-3.5nuget-package

解决方案


我会做的是:

  1. 删除包含所有 dll 的文件夹

  2. 对于由于缺少命名空间/类而导致的每个编译错误,请使用 Visual Studio 的包管理器安装必要的包。请注意,使用包管理器控制台而不是 UI 会更快,尤其是在您有大量项目和/或包的情况下。请记住在项目选择下拉菜单中选择正确的项目。

  3. 在文本编辑器中一一打开每个项目文件(或者您可以在 VS 的解决方案资源管理器中卸载项目然后编辑,但我发现仅使用 VSCode 更快)并删除任何以开头的行,<Reference并且包含路径是 bin之前删除的目录(保留 .NET Framework 引用)。您可以将 MSB3106 设置为警告,将其视为错误,以便更轻松地找到

如果您使用的是 Visual Studio 2017,我建议您考虑使用 PackageReference 而不是 packages.config。有几个好处,更不用说 SDK 风格的项目(.NET Core 需要)不再支持 packages.config。对于可以的项目类型,我还建议尽可能切换到 SDK 风格的项目(并非所有项目都可以,但任何类库和控制台应用程序通常都可以毫无问题)。


推荐阅读