C#库不会自动更新。编译成功但自动完成失败

时间:2015-01-13 10:41:47

标签: c# autocomplete

我有一个由控制台应用程序AppB引用的库LibA。 LibA和AppB不在同一个解决方案中。我通过向ClassD添加一个新的静态方法MethodC并重新编译LibA来修改LibA。然后我尝试在AppB中使用MethodC。编辑器中的自动完成失败,即在我输入" ClassD。"后,我在自动完成列表中找不到MethodC。好吧,没问题,尽管如此,我仍然继续输入" MethodC"并编译。不知怎的,它成功了!但是编辑器中的代码下面有一个红线表示代码中有错误。但是怎么编译成功了。而我打开对象浏览器,LibA仍然是旧版本。即使我删除了引用并重新引用了LibA,我也得到了相同的结果。

如何在LibA中使用新方法?什么是正确的步骤?感谢。

1 个答案:

答案 0 :(得分:0)

有两个原因可能无法正常工作。

1.您已将已编译的DLL作为一个特定磁盘路径的依赖项引用,但现在已编译到其他位置。如果您开始使用AnyCpu,x86,x64目标,可能会发生这种情况。它们通常会将输出从默认更改为特定于目标平台。

  1. 第二个原因是您忘记在DLL的构建配置中勾选“构建”复选框,该复选框不再更新。检查释放和调试模式,因为它可以设置为一个,但可以在另一个模式中清除。
  2. 好的起点是检查您的依赖项编译到哪个文件夹。为此,您可以右键单击项目,单击“属性”,然后选择“构建”选项卡,并查找“目标文件夹”属性。