zoukankan      html  css  js  c++  java
  • 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="PropertiesAssemblyInfo.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 的几个文件。

    把它们全部删除掉,这个依赖就会消失了。

  • 相关阅读:
    [LUOGU] NOIP提高组模拟赛Day1
    关于NX Check_Mate功能外部开发心得
    hibernate增删改
    eval转json
    day24(JAVAWEB上传与下载)
    struts2执行流程
    oracle之简单总结
    设计模式之装饰者模式
    第五周学习总结
    第四周学习总结
  • 原文地址:https://www.cnblogs.com/haogj/p/14376706.html
Copyright © 2011-2022 走看看