首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视听演播室2019年packages.config

视听演播室2019年packages.config
EN

Stack Overflow用户
提问于 2020-07-21 17:33:18
回答 1查看 1.2K关注 0票数 0

我使用VS 2019 CE v 16.64和4.8.03761

我有两个项目-- TestSql和Notebook TestSql是首先构建的,唯一安装的软件包是系统数据SQLite Core

在对VS 2019年进行了几次更新之后,我构建了笔记本,我只安装了系统数据SQLite Core和WeCantSpell.Hunspell

当我查看用于笔记本的文件夹packages.config时,我看到以下软件包已安装并需要更新

系统缓冲器

系统存储器

系统数字向量

系统运行时CompileServices不安全

那么,如果我没有安装他们,只是卸载他们,这是不工作的?

另一个问题是“如果没有崩溃,不要修复它”, TestSql项目在解决方案的底部有packages.config文件夹,我从packages.config迁移到PackageReference

当我看到使用PackageReference的好处时,我应该知道这可能是个坏主意

与利益的联系

所以问题有两个

如何将我的packages.config文件夹恢复到原来的位置?(见屏幕截图)

或者我的强迫症让我的现实意识到包参考真的更好的设计?

如何卸载未安装的软件包?是的,我尝试过管理NuGet包

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-21 18:29:48

如何将我的packages.config文件夹恢复到原来的位置?

如果您不需要绝对需要 packages.config,那么不要返回。从长远来看,PackageReference格式提供了许多您不想错过的好处,您的链接不会说谎。它甚至解决了你的下一个问题。

如何卸载未安装的软件包?

您只是不使用,因为它会破坏您的库。NuGet包表示由组件、内容文件或构建脚本等构件组成的模块或功能集。这样的模块可能具有工作所需的依赖项,例如SQLite库。包不是创建一个包含所需的所有程序集和文件的巨大存档,而是指定对其他包的依赖关系。通过这种方式,您可以灵活地合并和更新包,特别是如果存在多个包的公共依赖项,这也会防止在不同版本中拥有相同程序集或文件的多个副本,这可能会成为问题。

让我们来看看您正在使用的包的依赖关系。

  • System.Data.SQLite.Core
    • 无依赖

  • WeCantSpell.Hunspell
    • System.Memory for .NET Framework >= 4.5

..。唯一安装的软件包是系统数据SQLite内核

这个包没有任何依赖项,这就是为什么没有附加包的原因。

..。我只安装了系统数据SQLite核心和WeCantSpell.Hunspell

如果您查看上面的列表,Hun拼写包需要System.Memory,这也解释了为什么要安装它。没有它,饥饿咒是行不通的,这取决于它。我听到你问,其他包裹是从哪里来的?每个包都可以有依赖关系。因此,包可以依赖于依赖于.我想你知道这个主意了。因此,让我们再看看.NET框架>= 4.6.1的依赖关系。

  • System.Memory
    • System.Buffers
    • System.Numerics.Vectors
    • System.Runtime.CompilerServices.Unsafe

我认为这些都是您正在寻找的所有依赖项。所有这些包都将添加到您的packages.config中,这是迁移到PackageReference的一个很好的理由,因为它处理传递的包引用要好得多。假设向包A添加了一个具有依赖项的包B,并且该包具有包C的依赖项。那么A就有了对C的依赖。这被称为传递依赖关系。

旧的packages.config将添加所有包,而PackageReferece只添加A,并且足够聪明地包含其他包,而不显式地添加它们。在您的示例中,项目文件将只包含下面的引用。

代码语言:javascript
复制
<PackageReference Include="System.Data.SQLite.Core">
   <Version>1.0.113.1</Version>
</PackageReference>
<PackageReference Include="WeCantSpell.Hunspell">
   <Version>3.0.1</Version>
</PackageReference>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63019958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档