我正在开发的项目依赖于 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/