两台电脑上.NET Standard类库引用后无法使用问题求助
解决.NET Standard 2.0类库引用到.NET Framework 4.6.1后无法使用类的问题
我之前也碰到过几乎一模一样的情况,折腾了好一阵才搞定,大概率是环境配置或项目缓存的细微差异导致的,给你几个按优先级排序的排查和解决步骤:
检查并安装.NET Standard兼容包
.NET Framework 4.6.1虽然理论上支持.NET Standard 2.0,但有时候需要手动添加兼容包才能让IntelliSense和Resharper正常识别。右键你的.NET Framework 4.6.1类库项目 → 管理NuGet程序包,搜索并安装NETStandard.Library包(如果已经安装,尝试更新到最新兼容版本)。清理解决方案和Resharper缓存
缓存问题是重灾区:- 先在Visual Studio里点击菜单 → 生成 → 清理解决方案,然后手动删除项目下的
bin和obj文件夹; - 打开Resharper菜单 → Options → Environment → General,点击Clear Caches,重启Visual Studio后重新生成解决方案。
- 先在Visual Studio里点击菜单 → 生成 → 清理解决方案,然后手动删除项目下的
验证项目文件的引用配置
有时候自动添加的引用会有异常,手动打开.NET Framework类库的.csproj文件,检查.NET Standard项目的引用节点是否正确,正常的配置应该是这样的:<ProjectReference Include="..\YourNetStandardProject\YourNetStandardProject.csproj"> <Project>{项目GUID}</Project> <Name>YourNetStandardProject</Name> </ProjectReference>如果有多余的
HintPath或者版本冲突的配置,直接删除后重新添加引用。更新Resharper和.NET SDK版本
- 确保电脑2上的Resharper是最新版本,旧版本对.NET Standard的支持可能有bug;
- 打开命令提示符运行
dotnet --version,确认安装了支持.NET Standard 2.0的.NET SDK(至少是.NET Core 2.0及以上),如果版本过低,更新到对应版本即可。
临时禁用Resharper排查
如果以上步骤都没用,尝试在Visual Studio里点击Resharper菜单 → Suspend Now,然后看代码是否恢复正常。如果正常,说明是Resharper的配置问题,尝试重置Resharper设置(Options → General → Restore Defaults)。
内容的提问来源于stack exchange,提问作者miechooy
相关产品推荐
相关产品推荐

