2017-07-25 45 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 - 清除所有緩存
相關問題