有没有办法在没有强名称的情况下引用库? 当我在引用和重建解决方案中添加对程序集的引用时,一切都很好,但是当我从这个程序集解决方案中调用类时,它不会构建。
输出表明引用的程序集应具有强名称。什么是最好的解决方案?强命名库不可取。
最佳答案
我认为您在这里遇到的问题是,您尝试从中添加引用的程序集正在使用强名称进行签名,但您尝试引用的程序集未签名。强名称程序集只能引用其他强名称程序集。
要么对您引用的程序集签名,要么不对引用它的程序集签名。
只有在实际调用该类时才会出现错误的原因是,如果没有代码实际调用引用的程序集,编译器将在编译输出中删除引用。
如果您真的不能向被引用的名称添加强名称,或者从进行引用的名称中删除强名称(抱歉啰嗦),那么您将不得不考虑在运行时通过反射绑定(bind)类,然后通过公共(public)基础或接口(interface)访问它——一点也不理想;甚至更糟的是实际上通过反射或 dynamic
调用它。
关于c# - 引用没有强名称的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370753/