为什么我的项目引用指向 "obj" 目录中的一个 dll?

Why does my project reference point to a dll in the "obj" directory?

我正在为一个项目添加项目引用,该项目已经添加了一些项目引用。如果我检查现有的属性,它们都有指向其项目 bin 目录的路径,例如:

C:\MyProject2\bin\Debug\MyProject2.dll

但是,当添加另一个项目引用时,它以指向其 obj 目录的路径结束:

C:\MyProject3\obj\Debug\MyProject3.dll

那个 dll 似乎根本不存在! (虽然这可能是因为我还不能编译整个解决方案。)

为什么一个项目引用指向 bin,而另一个指向 obj?以及如何纠正它?

您可以通过在记事本中编辑项目并更改路径来轻松更正它。或者右键单击解决方案中的项目选择卸载,然后编辑。然后在项目中右键单击并选择重新加载。

当引用的项目未构建时,引用的路径将指向 obj 目录中的一个 DLL。构建完成后,路径会自动指向bin目录下的一个(现在存在的DLL)。

我通过编辑 Build Dependecies -> Project Dependencies 来解决这个问题,以确保依赖项与项目引用相同。在我的例子中,一些引用的项目没有在 Project Dependencies.

中选择