求助:Resharper 2018.1在.NET Core项目中添加依赖为Reference而非PackageReference
解决Resharper 2018.1在VS2017 .NET Core项目中添加依赖使用旧格式的问题
我之前也碰到过Resharper在.NET Core项目里固执地用旧<Reference>格式添加依赖的情况,给你几个亲测有效的解决办法:
1. 检查Resharper的NuGet格式设置
Resharper默认可能没切换到PackageReference格式,你可以这么调整:
- 打开Resharper选项:点击顶部菜单栏的
Resharper->Options - 导航到
Build, Execution, Deployment->NuGet->Package Management - 确保勾选了Use NuGet PackageReference format for new projects and packages(不同版本表述可能略有差异,找类似描述的选项)
- 点击
Save保存设置,重启VS生效
2. 清理Resharper缓存
有时候Resharper的缓存会导致它无法正确识别项目类型,清理缓存试试:
- 同样打开Resharper选项,进入
Environment->General - 点击
Clear Caches按钮,等待清理完成后重启Visual Studio - 重启后再尝试添加依赖,应该会自动使用
<PackageReference>格式
3. 手动修正项目文件后重新加载
如果上面的方法都没生效,你可以先手动把错误的<Reference>节点替换成正确的<PackageReference>格式:
<!-- 替换前的旧格式 --> <Reference Include="Microsoft.AspNetCore.Mvc.Razor"> <HintPath>C:\Users\Fred\.nuget\packages\microsoft.aspnetcore.mvc.razor\2.0.3\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.dll</HintPath> </Reference> <!-- 替换后的新格式 --> <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor" Version="2.0.3" />
保存项目文件后,右键项目 -> 选择Resharper -> Reload from Disk,让Resharper重新读取项目配置,之后添加新依赖就会遵循正确的格式了
额外确认
确保你的项目确实是标准的.NET Core项目:打开项目文件(.csproj),开头应该是类似<Project Sdk="Microsoft.NET.Sdk.Web">的SDK引用,而不是旧的.NET Framework项目格式,这是Resharper正确使用PackageReference的前提。
内容的提问来源于stack exchange,提问作者Fred Mikhalkov
相关产品推荐
相关产品推荐

