我正在维护一个c#.Net(vs2005)库,我们称之为fooLib,由同事开发。现在管理层决定我们应该将它的名称更改为barLib。
所以我重命名了它,更改了一些元数据(版权信息等),在gac中注册了它,删除了引用并在每个使用它的项目中再次添加它,瞧!
到目前为止,这么好,但有一个使用它的项目,在链接Debug版本时给我一些奇怪的错误,而Release就像一个魅力,没有警告。 它给了我一个很长的错误消息,告诉我它找不到fooLib.dll(当它应该搜索barLib.dll时),并告诉我链接日志已被停用,以及激活它的方式。所以我做了,但返回的唯一新信息是它搜索错误文件的路径列表。 任何想法如何解决这个问题而无需从头开始重建解决方案?
答案 0 :(得分:2)
查看项目文件 - 确保不同的配置没有任何奇怪的内容。
从“超级干净”构建解决方案 - 手动删除所有bin / obj目录。
当你说“连接”Debug版本时出现问题时,你的意思是它在执行时而不是编译时失败了吗?
答案 1 :(得分:0)
似乎将构建目标从“任何CPU”更改为“x86”或“x64”,它可以正常工作。将Release Build(设置为x86)更改为“Any CPU”,它失败并出现相同的错误
但它在图书馆名称更改之前就像它一样工作。似乎非常可怕......
编辑:现在它真的很有趣。如果我将项目配置设置为“释放|任何CPU”并且未选中COM互操作注册,则编译正常。然后我可以去调试,标记COM复选框,它仍然可以正常工作。然后我返回发布,检查了互操作选项,它失败了。我返回调试,它也失败了。