【发布时间】:2015-01-14 10:46:31
【问题描述】:
我有一个控制台应用程序 AppB 引用的库 LibA。 LibA 和 AppB 不在同一个解决方案中。我通过将新的静态方法 MethodC 添加到 ClassD 并重新编译 LibA 来修改 LibA。然后我尝试在 AppB 中使用 MethodC。编辑器中的自动完成失败,即在我输入“ClassD.”后,我在自动完成列表中找不到 MethodC。好吧,没问题,尽管如此,我仍然继续输入“MethodC”并编译。不知怎的,它成功了!但在编辑器的代码下方有一条红线,表示代码有问题。但是怎么编译成功了。而我打开对象浏览器,LibA还是老版本。即使在我删除引用并重新引用 LibA 之后,我也得到了相同的结果。
如何使用 LibA 中的新方法?正确的步骤是什么?谢谢。
【问题讨论】:
-
开始清理 AppB 的解决方案,然后一定要引用正确的程序集(注意你是如何编译 LibA,Release vs Debug x86 vs AnyCpu,这里有什么不同和你编译的 LibA.DLL 以不同的文件夹,您的 AppB 仍然可以引用不同文件夹中的版本。)
-
问题通过重启VS解决。我认为原因应该是VS卡住了(什么鬼!我们买了专业版)。非常感谢您的所有回答。实际上所有配置都已正确设置,包括构建路径、Release Vs Debug x86 Vs AnyCpu(实际上我使用的是 Release 和 AnyCpu)。我发现当我删除 LibA\bin\Release\ 中的 LibA.XML 时,它很快就会自动出现!不知道是我的电脑问题还是VS的问题。
-
默认情况下,如果一切正常,我重建LibA后,应该可以立即在AppB.cs中使用新方法MethodC,而无需执行任何操作。实际上,在我重新启动 VS 后,它的行为符合预期。
标签: c# autocomplete