在WinForms中混淆DLL使用

时间:2011-04-20 17:42:04

标签: .net winforms dll class-library

我有一个WinForms项目和解决方案,一些类库项目也添加到同一个解决方案中。

WinForms项目使用类库中的代码。我一直在使用这个应用程序大约一年,它一直运作良好。

但是,今天,我在类库中添加了一些功能,但这些更改没有出现在正在运行的应用程序中。我也尝试在其中一个类中添加一个新的公共方法,但该方法没有在Intellisense中显示给应用程序。

这应该很容易解决,但是,随着WinForms在幕后自动复制DLL的方式,我不知道问题出在哪里。我看到的一切似乎都对我而言。代码继续工作,因为它认为它使用旧版本的DLL。但是我的WinForms应用程序的Bin目录中的DLL具有今天的日期。

有人可以就我应该寻找解决方案的地方提出建议吗?

3 个答案:

答案 0 :(得分:2)

我会进入项目属性,删除引用,重新添加它以验证您的dll是否来自您认为的位置。清洁&重建项目

答案 1 :(得分:1)

根据Michael's answer,您可能会发现程序集引用实际上不是项目引用,而是特定路径,而不是您编译到的路径(例如bin \ Release)。

此外,这可能听起来微不足道,但请仔细检查您的解决方案的配置属性是否在您使用Build功能时实际构建项目!我已经关闭了建筑物而忘记了我这样做了然后当他们的变化不在我的应用程序中时我感到困惑!

答案 2 :(得分:0)

您是否已将任何类库放入GAC?

如果具有相同AssemblyVersion的强名称程序集在GAC中,则将使用此代替解决方案中的那个。