创建一个旧项目以使用 nuget 包管理器并创建 package.config 文件

Make an old project to use nuget package manager and create package.config file

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

我会做的是:

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

  2. 对于由于缺少 namespace/class 而导致的每个编译错误,请使用 Visual Studio 的包管理器安装必要的包。请注意,使用包管理器控制台会比 UI 更快,尤其是当您有大量项目 and/or 包时。请记住 select 项目 selection 下拉菜单中的正确项目。

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

  4. 的所有实例

如果您使用的是 Visual Studio 2017,我建议您考虑使用 PackageReference 而不是 packages.config。有several benefits,更不用说SDK风格的项目(.NET Core要求)不再支持packages.config。我还建议如果可能的话,切换到 SDK 样式的项目(并非所有都可以,但任何 class 库和控制台应用程序通常都可以没有问题)。