gpt4 book ai didi

c# - 带有程序集引用的 asp.net 3.5 引用项目在单元测试中抛出签名/强名称错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:57 25 4
gpt4 key购买 nike

我在数据层中引用了 MySQL.Data 5.2.3 程序集,太棒了。我目前有一个小型控制台应用程序 inteh 引用 JUST THIS 数据层的相同解决方案,它连接得很好。然后我创建了一个单元测试项目(也在同一个解决方案中)并引用了同一个数据层项目,从中我得到:

Test method LTTests.WrapperTest.LoginTest threw exception: System.IO.FileLoadException: Could not load file or assembly 'MySql.Data, Version=5.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045).

所以我想了解...我可以为控制台 exe 执行此操作并且它可以工作但不能进行单元测试?这让我对在明显有缺陷的东西上进行构建感到紧张,但我不知道下一步该怎么做。我迷路了,我一直在重新添加各种东西来寻找交易是什么,但我不知道。

异常来自数据层而不是来自测试(每个堆栈)所以它就像测试正在调用层的方法(duh)并且数据层正在呕吐但不是针对控制台?

谢谢。

最佳答案

这不是错误原因的答案,而是一种可能的找出错误的方法:

您可以使用属于 dotnet sdk 的“Assembly Binding Log Viewer”(Fuslogvw.exe) 来找出加载的内容和原因。

如果启用日志记录,它可以向您显示从哪个目录加载了哪些程序集,以及哪个程序集导致它加载。

有关详细信息,请参阅 http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.80).aspx

所以可能存在不同版本的 MySql.Data,错误消息意味着找到的版本号不是它期望的版本号。

关于c# - 带有程序集引用的 asp.net 3.5 引用项目在单元测试中抛出签名/强名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846718/

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