在dll解决方案中,我将主公共类(namebase)更改为更好的名称
EasyXML.Settings类现在已经成为EasyXML.XMLconfig。
namespace EasyXML
{
public class XMLconfig // i changed this name and its constructor.
{
编译时我先做了一个干净的解决方案然后我为这个.dll编译了调试版和发行版
另一个项目已经使用了旧版本,但需要更新到新版本。因此,我删除了对旧dll的引用,删除了旧的dll,添加了新版本的dll,并再次创建了对它的引用。
但是不知何故,其他项目无法识别更新的类名XMLconfig。 (不是在干净的构建上),它的行为就像它是否被缓存一样。
我不确定,我是否需要对dll解决方案或其他项目执行其他操作?来刷新这些名称。
答案 0 :(得分:1)
必须有一个简单的解释:
确保第二个项目中没有任何错误(否则VS很可能无法更新dll中的类名)
确保通过将dll的引用添加到您引用正确文件的第二个项目(使用解决方案选项卡而不是浏览)
确保您的dll项目实际已编译。 (有几种情况下项目没有编译但解决方案构建成功)。检查dll项目输出的修改日期,确保它不是旧版本。
您可以转到project->properties->build->output path
和project->properties->build events
并确保当前构建配置的输出指向正确的位置
确保两个项目都使用完全相同版本的.net框架
除此之外:
确保类名(XMLConfig)与命名空间(EasyXML)不完全匹配,否则VS用户无法访问该类
确保dll项目中没有任何具有相同名称的部分类。
确保其他任何其他类没有相同的命名空间和类名