【发布时间】:2015-07-30 19:24:55
【问题描述】:
我们有几个项目正在引用库程序集,让我们调用“myUtil”,现在几个项目中引用的方法之一是,
GetData(int p1, string p2, object p3, bool p4 = false);
现在如果我把上面的方法改成这个,
GetData(int p1, string p2, object p3, bool p4 = false, bool p5 = false);
我是否必须将“myUtil.dll”程序集更新为引用它的项目?
如果不引用它,我会得到这个错误,当我更新引用时它确实有意义并且消失了,但我无法在它说你必须更新引用的地方找到有效的引用
System.MissingMethodException:找不到方法:'Void GetData(....
【问题讨论】:
-
请对您的要求更清楚一点。听起来您有一个引用 MyUtil.dll 的 C# 项目。在一个完全独立的项目中,您向 MyUtil.dll 添加一个新方法并重新编译它。然后,您期望 MyUtil.dll 神奇地将新方法公开给引用它的第一个项目。每当您向 .dll 项目添加方法时,都必须重新编译并将其重新添加到引用它的任何其他项目中。
-
如果项目共享相同的解决方案,那么这将是一个不同的问题。你的问题并不清楚。
-
重建
myUtil.dll并且您的引用项目指向您的新程序集后,您就可以开始了。 -
@Dunken 真正寻找的是它的有效参考,添加可选参数是否使它成为一种不同的方法,然后没有呢?
-
是的,添加一个新参数,无论是否可选,都会改变方法签名。这需要您重新部署对引用它的项目的引用。
标签: c#