gpt4 book ai didi

c# - 将 .NET Standard 库添加到 4.7.1 lib 会增加大量引用,有些已损坏

转载 作者:太空狗 更新时间:2023-10-29 19:56:48 25 4
gpt4 key购买 nike

因为我需要导入一个针对 .NET Standard 2 的库,所以我已经将我的库升级到 .NET 4.7.1,正如我从这个 MS 视频中了解到的那样应该可以避免这个问题:https://www.youtube.com/watch?v=u67Eu_IgEMs

但是,现在添加 .NET 标准会导致数十个 System.xxx 引用,而不是对 .NET 标准的单个引用(如视频所示)。

更糟糕的是,已经添加了一些引用,但基础文件似乎缺少生成警告,例如
Warning The referenced component 'Microsoft.Win32.Primitives' could not be found.
Warning The referenced component 'System.IO.FileSystem' could not be found.
Warning The referenced component 'System.Security.Cryptography.X509Certificates' could not be found.
Warning The referenced component 'System.Globalization.Calendars' could not be found.<br/>
Warning The referenced component 'System.Security.Cryptography.Encoding' could not be found.
Warning The referenced component 'System.Security.Cryptography.Primitives' could not be found.
Warning The referenced component 'System.IO.Compression.ZipFile' could not be found.
Warning The referenced component 'System.Console' could not be found.
我什至在视频中重新创建了演示项目并得到了相同的结果 - 没有对 .NET Standard 的单一引用,而是大量的 DLL 引用。

我试过 NUGET update-package -reinstall并降级和升级到 .NET 标准 2.0 和 2.0.1

最佳答案

我为自己的问题创建的答案是:

您的 .NET Framework 项目是否使用 packages.config ?如果是,请不要引用 .NET Standard 库。如果引入 .NET Standard,VS 2017 中的 package/reference/binding-redirect 会被严重破坏。尝试修复它会导致更多问题(我已经浪费了好几天的时间)。期望有尽管存在但不加载的程序集、大量警告和损坏的应用程序。

如果您使用 System.Net.Http,请计划花几天时间在 Google 和 GitHub 问题上尝试让它发挥作用。

如果您能够升级到 packageReferences,这应该可以解决问题。但是,如果您的项目包含导入内容的包,如 JQueryBootstrap,请注意这些不再有效,您将花费更多时间尝试修复这些引用并迁移到 npmbower,同时修复 TypeScript 编译。不,谢谢。

理想情况下,您会使用 2017 csproj 格式,但它与 WinForms、ASP.NET 或 Windows 服务不兼容 - 如果您有遗留项目,那就太难了。

关于c# - 将 .NET Standard 库添加到 4.7.1 lib 会增加大量引用,有些已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49570490/

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