NuGet找不到已安装的软件包:但是允许我使用未安装的软件包

时间:2018-07-18 11:56:01

标签: c# .net ide nuget

我在使用NuGet时遇到了一些麻烦。 在VS2017中,当我打开Manage NuGet软件包时,它说我没有任何已安装的软件包。

enter image description here

奇怪的是,我可以使用像Newtonsoft.Json这样的库,即使很难,我也没有安装此库。我的包裹文件夹看起来像这样:enter image description here

.csproj中的引用如下:

<ItemGroup>
  <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
    <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
  </Reference>
  <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
    <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
  </Reference>
  <Reference Include="System" />
  <Reference Include="System.ComponentModel.Composition" />
  <Reference Include="System.ComponentModel.DataAnnotations" />
  <Reference Include="System.Configuration" />
  <Reference Include="System.Configuration.Install" />
  <Reference Include="System.Core" />
  <Reference Include="System.IdentityModel" />
  <Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
  <Reference Include="System.Numerics" />
  <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
    <HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
  </Reference>
  <Reference Include="System.Runtime.Serialization" />
  <Reference Include="System.Runtime.Serialization.Primitives, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
    <HintPath>..\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll</HintPath>
    <Private>True</Private>
    <Private>True</Private>
  </Reference>
  <Reference Include="System.Security" />
  <Reference Include="System.ServiceModel" />
  <Reference Include="System.ServiceProcess" />
  <Reference Include="System.Transactions" />
  <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>

因此,我绝对没有对Newtonsoft.Json的任何引用。似乎有一些对图书馆的隐性引用。或者NuGet在错误的位置寻找引用。

我已经清除了NuGet缓存,并尝试使用Update-Package进行还原。运行Update-Package时,我仅收到以下消息。

  

当前软件包源中没有针对项目'TaskService \ TaskService.csproj'的软件包更新。

为什么所有这一切都会发生?杰森只是一个例子。我的项目中有更多可用的库,但我无处不在。 请注意,我的解决方案包含多个项目,其他项目运行正常。 我可以使用Newtonsoft.Json中的类开始我的项目。我可以在没有任何警告的情况下进行构建和重建。但是我不想要Newtonsoft.Json。我希望它在我的项目中不存在。为什么在此项目(仅此项目)中总是可用?我的项目可能有什么问题

编辑:清除所有缓存后,我无法再使用Newtonsoft.Json(这很好,因为未安装)。但是我装好的包裹仍然是空的。再次安装Newtonsoft.Json之后,它没有与其他参考文献相同的符号。这是什么意思?

enter image description here

0 个答案:

没有答案