事件前提:
因为老师项目需要接手了一份项目代码,C#编写,框架使用的是.NETFramework 4.6.2,拿到手的是一个包含原项目的文件夹,里面有.csproj文件,加载后出现未找到引用错误,在保存项目文件后使用NuGet还原后,可以确定的是引用文件已经成功下载了:
具体表现(部分错误截图):
解决方案资源管理器:
错误列表:
项目服务配置部分:
搜索网上给出的解决方案(应该都是对的,但是不符合我的情况):
1.引用文件不存在:可以从NuGet下载
2.开发框架没有安装:未安装项目所需要的框架,先查看项目框架后去微软官网下载或者升级为开发机已有框架(可能出现兼容问题不推荐)
而我遇到的问题:
我是先解决问题,然后才找到问题所在的(详细情况不便赘述)。
解决的方案是把packages目录作为项目目录的同级目录(复制过去),而NuGet还原的packages目录是项目目录的子目录。
原因其实很简单,根据CSDN大佬们的热情回复(虽然原问题当时没有解决但是给我提供了思路),原因就是引用的dll使用hintpath注册为Private了,只能放在固定的位置,而NuGet还原的位置不在设置的位置:
csproj文件截图(请使用Notepad打开,使用VS打开只会打开项目):
NuGet还原位置在\packages\......
问题解决了,希望能够帮到大家,have a good day!