为啥我的项目引用指向“obj”目录中的 dll?
Posted
技术标签:
【中文标题】为啥我的项目引用指向“obj”目录中的 dll?【英文标题】:Why does my project reference point to a dll in the "obj" directory?为什么我的项目引用指向“obj”目录中的 dll? 【发布时间】:2016-10-29 07:11:50 【问题描述】:我正在向一个项目添加项目引用,该项目已经添加了一些项目引用。如果我检查现有的属性,它们都有指向其项目的bin
目录的路径,例如:
C:\MyProject2\bin\Debug\MyProject2.dll
但是,当添加另一个项目引用时,它会以指向其obj
目录的路径结束:
C:\MyProject3\obj\Debug\MyProject3.dll
那个 dll 似乎根本不存在! (虽然这可能是因为我还不能编译整个解决方案。)
为什么一个项目引用指向 bin,另一个指向 obj?以及如何纠正?
【问题讨论】:
【参考方案1】:我通过编辑Build Dependecies
-> Project Dependencies
来解决此问题,以确保依赖项与项目引用相同。就我而言,一些引用的项目没有在Project Dependencies
中被选中。
【讨论】:
这也是我的情况。项目卸载重载后,路径改为bin。【参考方案2】:当引用的项目未构建时,引用的路径将指向 obj 目录中的 DLL。构建完成后,路径会自动指向 bin 目录中的一个(现在已经存在的 DLL)。
【讨论】:
【参考方案3】:您可以通过在记事本中编辑项目并更改路径来轻松更正它。或者右键单击解决方案中的项目选择卸载,然后编辑。然后一旦更改右键单击项目并选择重新加载。
【讨论】:
该dll的路径不在项目文件中。工程文件只包含引用工程的csproj
文件的路径。例如:<ProjectReference Include="..\..\MyProject3.csproj">
您是否尝试过清除所有生成的目录(obj、bin),然后重新添加已删除的项目引用。这看起来是一个 VS 问题,我无法重现它。我的项目引用是 bin。
我现在尝试清理解决方案,然后添加项目引用,但结果相同。
我猜 MyProject3 已经构建并且正在构建到正常的 bin 文件夹中,没有什么奇怪的。
你发现了问题!引用的项目尚未构建!以上是关于为啥我的项目引用指向“obj”目录中的 dll?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 SQL Server 无法识别,即使我有对 DAL05.dll 的引用?
obj 目录中的 *.dll.licenses 文件不是使用 TeamCity 中的 msbuild 创建的