Visual Studio 2017中项目引用丢失(黄色三角)问题咨询
这种引用飘黄三角的问题我在日常开发中碰到过好多次,给你整理了几个按优先级排序的解决步骤,挨个试基本能搞定:
清理重建+手动删除编译缓存
首先试试最基础的:右键解决方案,先选清理解决方案,再选生成解决方案。如果还是不行,手动删掉两个项目下的bin和obj文件夹(这俩是编译生成的缓存,有时候会导致引用异常),然后重新编译整个解决方案。检查并重新添加引用
右键第二个项目里那个带黄色三角的引用,选择属性,查看路径是否指向第一个项目的正确输出目录(比如..\第一个项目名称\bin\Debug)。如果路径错误或者指向了不存在的文件,直接删除这个引用,然后右键第二个项目→添加→引用→在项目标签页里勾选第一个项目,重新添加一次。确认目标框架完全一致
虽然你说都是4.6,但要注意区分.NET Framework 4.6和.NET Framework 4.6 Client Profile——这俩是不同的框架版本!右键两个项目→属性→应用程序,仔细核对目标框架的全称,必须完全匹配才行。检查第一个项目的输出类型
确保第一个项目是**类库(Class Library)**类型:右键第一个项目→属性→应用程序,查看输出类型是否为类库。如果是控制台应用或者Windows窗体应用,虽然理论上能引用,但偶尔会出现VS识别异常的情况。重置Visual Studio用户数据缓存
如果上面的方法都没用,可能是VS本身的缓存出问题了。关闭所有VS窗口,找到VS的安装目录(比如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE),运行devenv.exe /resetuserdata,等待重置完成后重启VS,再打开解决方案试试。手动检查项目配置文件(终极方案)
要是还不行,就直接看项目的配置代码:右键第二个项目→卸载项目,然后右键点击已卸载的项目→编辑.csproj,找到类似下面的项目引用节点:<ProjectReference Include="..\第一个项目名\第一个项目名.csproj"> <Project>{项目唯一GUID}</Project> <Name>第一个项目名</Name> </ProjectReference>确认
Include的路径是正确的相对路径,同时<Project>里的GUID要和第一个项目.csproj文件里的<ProjectGuid>值完全一致。如果不一致,手动修改或者直接删除这个节点,重新添加引用即可。
内容的提问来源于stack exchange,提问作者Aryan Firouzian




