c# - 将 NuGet 包替换为本地 dll 文件

标签 c#

我正在开发的项目依赖于 NuGet 包。包内的dll文件是在Release模式下编译的,因此使用调试器检查代码(这是我的目标)是不可能的。

我想用我在 Debug模式下编译的文件替换 .dll 文件。如果我通过 NuGet 删除包,然后通过 Add Reference 添加它,则会收到错误:

Assembly 'AssemblyName' with identity 'AssemblyName, Version=4.2.5.0, Culture=neutral, PublicKeyToken=null' uses 'System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cf7b13ffcb2dde54' 
which has a higher version than referenced assembly 'System.Memory' with identity 'System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cf7b13ffcb2dde54'

将 NuGet 包 .dll 替换为另一个 .dll 文件的正确方法是什么?在哪里可以更改版本号我正在使用 Rider,但是学习如何在其他 IDE 中进行更改也很有用。

最佳答案

发生这种情况是因为 nuget 正在使用 specific version of "System.Memory, Version=4.0.1.1",你有System.Memory, Version=4.0.1.0 referenced in your project 。您应该更新该引用文献,它应该很好。所以问题出在你的 DLL 而不是 NuGet。也许当您删除 nuget 时,您降级了 System.Memory,您应该将其显式更新到错误表明它需要通过 NuGet 的版本。

如果你想搞乱金 block ,专业提示:

  • 它本质上是一个 ZIP 文件
  • 下载 Nuget
  • 将扩展名更改为 .zip
  • 解压
  • 瞧,你有一些 dll-s

关于c# - 将 NuGet 包替换为本地 dll 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58587420/

相关文章:

c# - 在被调用函数或 task.wait() 上使用 try/catch block ?

c# - SCOPE_IDENTITY() 总是返回 0

c# - 将 DTO 传递到服务层以进行 CRUD 操作

c# - 从 List<string> 创建用户可读、显示友好的格式化字符串

c# - 编写方法和单元测试

c# - 一次性上下文对象模式

c# - Asp.net gridview列宽

C# 无法从 'ref xxx' 转换为 'ref object'

c# - 应用程序在 Windows 10 中处于后台时的位置跟踪?

c# - 非 Windows 用户的 HttpContext.Current.User.Identity.Name 替代方案?