c# - DLL 寻找错误的版本
问题描述
我开发了一个在 Visual Studio 2015 中使用 WinSCPnet.dll 的类库 (dll)。在排除它寻找错误 dll 的原因时,我为其添加了 Nuget,获得了最新版本。我们使用的版本其实是在那之前的几个,所以我卸载了最新的(使用Nuget),安装了我想要的版本。现在,当它运行时,它正在寻找最新版本。
System.IO.FileLoadException:无法加载文件或程序集“WinSCPnet,版本=1.6.5.9925,文化=中性,PublicKeyToken=2271ec4a3c56d0bf”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
我尝试搜索注册表 gacutil /u (成功运行并删除了 dll,但我仍然收到此消息),清理项目并重建,删除 bin 和 obj 中的所有内容并重建 - 我错过了什么?
谢谢!
解决方案
尝试这个 :
卸载你的项目,右键单击,编辑.csproj文件..找到你的参考,它已经变成了这样<Reference Include="WinSCPnet, Version=1.6.5.9925 .../>"
,编辑创建打开关闭参考标签<Reference></Reference>
里面放<HintPath>path to your dll file here</HintPath>
希望这可以帮助!?
推荐阅读
- javascript - Webpack 只编译自调用函数,不编译任何其他函数
- shell - 替换 sh 中变量的子字符串
- javascript - react native:单击BOB文本时标记复选框的方法是什么?
- javascript - 函数在另一个函数中不起作用,但内部函数的代码直接在外部函数内部时起作用
- c++ - 将数据从 csv 文件放入表中的问题 [C++]
- stored-procedures - 如何阻止 Firebird 2.5 存储过程同时执行多次
- angular - AG Grid服务器端分页解决方案
- html - SVG 在 IE11 中进入下一行
- mql4 - 在 MQL4 中创建按钮数组
- dart - 如何在 Dart 中将两个 4 位块转换为 1 个字节?