我试图使用c# 4.0编译我的excel插件,并在Visual Studio中构建我的项目时开始遇到这个问题。重要的是要告诉你,我以前从来没有遇到过这个问题。什么会导致这种情况发生?


当前回答

当我在更新WindowsAPICodePack后遇到这种情况时,我只是重新构建了解决方案。

构建——>重建方案

其他回答

如果您更改了程序集版本或复制了错误中声明的托管库的不同版本,则以前编译的文件也可能引用了错误的版本。一个“重建所有”(或删除你的“bin”和“obj”文件夹在前面的评论中提到)应该解决这个问题。

我得到类似的编译器错误。一旦我将dll文件的依赖项目添加到解决方案中,问题就解决了。

如果你的主项目使用了一些库项目并引用了它们,当你在库项目中更改某些内容时(例如:重命名一个类),如果你的项目引用了一个程序集dll文件而不是库项目,就会导致这个问题。

您可以在对象浏览器窗口(菜单视图->对象浏览器)中按视图检查对主项目的所有引用。对dll文件的引用总是有一个版本号。示例:TestLib [1.0.0.0]

解决方案:删除主项目对库项目的当前引用,并重新添加对该库项目的引用。

我去发布应用程序文件,发现dll抛出错误,将其从“包括(自动)”更改为“包括”。我现在可以发表了。

这是在更改引用的.dll的版本时引起的。您需要删除目标构建文件夹中的所有项或.dll。