c# - 引用没有强名称的程序集

标签 c# .net .net-assembly

有没有办法在没有强名称的情况下引用库? 当我在引用和重建解决方案中添加对程序集的引用时,一切都很好,但是当我从这个程序集解决方案中调用类时,它不会构建。

输出表明引用的程序集应具有强名称。什么是最好的解决方案?强命名库不可取。

最佳答案

我认为您在这里遇到的问题是,您尝试从中添加引用的程序集正在使用强名称进行签名,但您尝试引用的程序集未签名。强名称程序集只能引用其他强名称程序集。

要么对您引用的程序集签名,要么不对引用它的程序集签名。

只有在实际调用该类时才会出现错误的原因是,如果没有代码实际调用引用的程序集,编译器将在编译输出中删除引用。

如果您真的不能向被引用的名称添加强名称,或者从进行引用的名称中删除强名称(抱歉啰嗦),那么您将不得不考虑在运行时通过反射绑定(bind)类,然后通过公共(public)基础或接口(interface)访问它——一点也不理想;甚至更糟的是实际上通过反射或 dynamic 调用它。

关于c# - 引用没有强名称的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370753/

相关文章:

c# - 在 C# 中,调整数组大小(在这种情况下增加其大小)会使用默认值初始化新段——这可靠吗?

c# - 如何制作一个适用于多种形式的变量?

c# - 将背景设置为指向 LinearGradientBrush 的 StaticResource 会使我的应用程序崩溃,有什么想法吗?

c# - 如何使用 LINQ 从 Dictionary<string,List<string>> 中删除任何值

.net - 维护程序集版本号的最佳实践/指南

c# - 如何在类型名称中明确指定程序集?

c# - 速记日期

c# - 解决方案范围 app.config/web.config?

c# - 使用 .NET 的 RegEx 问题

.net - T4 汇编指令找不到指定的文件