1

我正在维护由同事开发的 ac#.Net (vs2005) 库,我们称之为 fooLib。现在管理层决定我们应该将其名称更改为 barLib。

所以我重命名了它,更改了一些元数据(版权信息等),在 gac 中注册,删除了引用并在每个使用它的项目中再次添加它,瞧!

到目前为止,一切都很好,但是有一个使用它的项目,在链接调试版本时给了我一些奇怪的错误,而发布就像一个魅力,没有警告。它给了我一条很长的错误消息,告诉我它找不到 fooLib.dll(当它应该搜索 barLib.dll 时)并告诉我链接日志已停用,以及激活它的方法。所以我做了,但返回的唯一新信息是它正在搜索错误文件的路径列表。知道如何解决这个问题而不必从头开始重建解决方案吗?

4

2 回答 2

2

查看项目文件 - 确保对于不同的配置没有任何奇怪的事情发生。

从“超干净”构建解决方案 - 手动删除所有 bin/obj 目录。

当您说“链接”调试版本存在问题时,您的意思是它在执行时而不是编译时失败?

于 2009-07-27T09:48:27.753 回答
0

似乎将构建目标从“任何 CPU”更改为“x86”或“x64”,它可以工作。将发布版本(设置为 x86)更改为“任何 CPU”,但失败并出现相同错误

但它的工作方式与图书馆更名之前一样。好像挺吓人的……

编辑:现在它变得非常有趣。如果我将项目配置设置为“Release|Any CPU”且未选中 COM 互操作寄存器,则它可以正常编译。然后我可以去调试,标记COM复选框,它仍然可以正常工作。然后我返回发布,检查了互操作选项,但它失败了。我返回调试,它也失败了。

于 2009-07-27T10:05:39.027 回答