Nuget Reference 丢失问题
现象
在 Visual Studio 2017 中创建一个控制台项目。创建出来的项目如下所示。
通过 NuGet 管理器,添加 Newtonsoft.Json 的 NuGet 包,安装之后,项目中添加了一个 packages.config 文件。
内容如下:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net461" />
</packages>
然后,在这个文件上右键,将它合并到 PackageRerefence 中。
完成之后,可以在项目的 References 中看到已经合并了。
但是。这个时候,你直接打开项目文件,是看不到这个引用的。也就是说,它没有被写入到项目文件中。
解决方案
1. 退出 Visual Studio
直接关闭 Visual Studio,就会看到一个保存文件的提示框,这就是保存修改之后的项目文件。
保存之后的内容就变成了如下所示。
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.3</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
2. 不退出,直接重新构建
我一般不会经常关闭 Visual Studio。那么,你可以重新构建一下项目,这样会直接保存项目文件,而且没有提示。
删除依赖的问题
加进来了,怎么删除该依赖呢?
你可以直接打开项目文件,并删除关于 nuget 包的引用。但是你会发现该依赖仍然存在。
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.3</Version>
</PackageReference>
</ItemGroup>
但是,你还是会在解决方案管理器中看到对它的依赖,甚至你在整个项目中都搜索不到关于它的文本。但它确实还是存在。
解决的方式,打开项目下的 obj 文件夹,会看到关于 nuget 的几个文件。
把它们全部删除掉,这个依赖就会消失了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?