c# - "An assembly with the same simple name has already been imported"没有重复引用的错误

标签 c# msbuild reference

我收到以下错误:

error CS1704: An assembly with the same simple name 'Interop.xxx.dll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null has already been imported. Try removing one of the references or sign them to enable side-by-side.

我所看到的一切都表明我引用了两个同名的程序集,我需要删除其中一个。但是,我已经检查过并且只引用了一次。

这也仅在我使用 msbuild 从我的开发箱上的命令行构建时发生。如果我通过 Visual Studio 构建或在我们的 CI 服务器上进行干净构建,我不会看到此错误。

我已经尝试完全删除所有源代码并从头开始构建以更接近构建机器,但没有成功。

最佳答案

看来我今天没法读书了!
该项目有一个对 Interop 的引用和一个生成“相同”互操作的 COM 引用。所以有两个,我只是没有很好地搜索。我仍然不明白为什么它在其他地方有效,但这确实解决了问题。

关于c# - "An assembly with the same simple name has already been imported"没有重复引用的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160634/

相关文章:

c# - VSTO WPF 模式对话框光标在文本框中不闪烁

msbuild - 在 TFS 的 MSBuild PostBuildEvent 中使用 mklink 命令

tfs - 有没有更好的方法来查看团队构建日志?

c# - 如何拦截所有按键事件,包括 ctrl+alt+del 和 ctrl+tab?

c# - 如何为 Like 创建 System.Linq.Expressions.Expression?

c# - 从 C# 搜索公共(public) Outlook 联系人文件夹

c++ - 如何在 linux 上编译 cmake 以便它可以生成 vsproj 文件?

reference - 奇怪的 g++ 链接行为取决于参数顺序

c - 从函数传回数组(C 编程)

C#:将一个枚举包装在另一个枚举中(即镜像另一个枚举/复制它......)