2017-07-25 46 views
2

在我将Package添加到我的csproj后,我没有任何效果。接下来我将介绍再现步骤和我的项目文件夹内容。我的问题:我做错了什么方式,或者它是一个dotnet cli错误?我注册了一个issue,并将跟踪这两个问题 - 这个问题和问题。当我将NuGet.Core包添加到我的csproj作为PackageReference之后,我没有任何效果

重现步骤:

  1. dotnet new console
  2. 变化TargetFrameworkcsproj文件net461
  3. dotnet add package NuGet.Core
  4. 添加using NuGetProgram.cs(这个命名空间是存在于NuGet.Core大会,我已检查)
  5. dotnet restore
  6. dotnet build

结果:错误 “的类型或命名空间名称的NuGet”找不到“。

我的项目目录的全部内容:

的NuGet-tree.csproj:

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <OutputType>Exe</OutputType> 
    <TargetFramework>net461</TargetFramework> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="NuGet.Core" Version="2.14.0" /> 
    </ItemGroup> 
</Project> 

的Program.cs:

using System; 
using NuGet; 

namespace nuget_tree 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Hello World!"); 
     } 
    } 
} 

.NET CLI工具版本:我在两者上都试过:1.0.42.0.0-preview2-25407-01

+0

什么是你的csproj文件的名称? –

+0

NugetTree.csproj – andrew

回答

0

我想出问题不在dotnet CLI中,而是在nuget中。我下面:

  1. 在Visual Studio 2015年
  2. 创建一个控制台应用程序包管理器控制台:PM> Install-Package Microsoft.Web.Xdt -Version 2.1.0
  3. PM> Install-Package NuGet.Core -Version 2.13.1

即正常工作。但是,如果我安装了最新版本的NuGet.Core,然后在NuGet.Core子文件夹中的程序包目录中没有装配的lib文件夹。所以我不能在项目中引用它。这似乎很奇怪。然后我决定清除nuget缓存。这解决了我的问题。清除缓存后,我可以创建一个新项目并成功使用最新的NuGet.Core。

要清除高速缓存我使用:

  • nuget locals all -list - 列出本地缓存
  • nuget locals all -clear - 清除所有缓存
相关问题