gpt4 book ai didi

.net - 在 .NET Standard 项目中使用包引用后,如何恢复引用 packages.config 中的 Nuget 包?

转载 作者:行者123 更新时间:2023-12-04 03:36:11 25 4
gpt4 key购买 nike

背景

我有几个 C# 代码库,我最近将它们转换为目标 .NET Standard 1.4,用于 Xamarin Forms 项目以及许多旧的 .NET Framework 4.6.1 项目。

我最初使用 Package Reference in Project Files 将 Nuget 包添加到 .NET Standard 类库中。风格。

学习后this bug where transitive package references from .NET Standard projects are not resolved in legacy .NET Framework projects ,我尝试了添加 <RestoreProjectStyle>PackageReference</RestoreProjectStyle> 的解决方法到遗留项目的 csproj。遗留项目仍然没有解决传递引用——也就是说,变通方法不起作用。

因此,我想恢复到在我的 .NET Standard 项目中的 packages.config 文件中引用 Nuget 包的旧样式。

我遵循的步骤:

  • 卸载 .NET Standard 项目中的所有 Nuget 包,除了无法卸载的 NETStandard.Library
  • 我对 Nuget 的 VS 默认设置是将解决方案中的第一个包添加到 packages.config
  • Manage Nuget Packages 重新安装 Nuget 包工具窗口
  • 这个包作为 PackageReference 放在 csproj 中,不在packages.config 文件中。

  • 有谁知道我如何强制我的 .NET Standard 1.4 项目中的新 Nuget 包在 packages.config 中列出而不是作为包引用?

    最佳答案

    除了从项目文件中删除 PackageReferences 之外,我还必须从 $ProjectDir\obj 中删除以下文件目录:

  • Myproject.csproj.nuget.cache
  • Myproject.csproj.nuget.g.props
  • Myproject.csproj.nuget.g.targets
  • project.assets.json
  • 关于.net - 在 .NET Standard 项目中使用包引用后,如何恢复引用 packages.config 中的 Nuget 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45244623/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com