如何指定netcoreapp1.0对本地nuget包的依赖?

时间:2016-08-29 04:25:31

标签: c# .net nuget-package .net-core

我在Ubuntu 16.04 LTS下使用最新版本的.NET Core 1.0(dotnet-dev-1.0.0-preview2-003121)。

我有一个本地共享库,在Mono移植到.NET Core(NetStandard 1.6)下编写,我使用dotnet pack生成.nupkg.symbols.nupkg

现在我使用netcoreapp1.0创建dotnet new,如何在dependencies中编写project.json以将本地dll或nuget包添加到引用中,就像添加{/ 1}}以前在VS / Mono中引用?

我看了.net core RC2 using own local Nuget Package: The folder netstandard1.5 contains an invalid version但似乎没有解决我的问题。

2 个答案:

答案 0 :(得分:2)

您需要告诉dotnet它可以找到NuGet包的位置。您可以使用NuGet.Config文件(本地文件或全局文件)来执行此操作。

要在本地将目录设置为包源,请在项目目录中创建一个名为NuGet.Config的文件,或者从其中创建目录树中的一个目录,包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="my-local-source" value="path/to/your/local/source" />
  </packageSources>
</configuration>

要全局设置包源,请改为更改全局NuGet.Config文件。在Linux上,其位置为~/.nuget/NuGet/NuGet.Config

答案 1 :(得分:0)

你快到了。创建自己的nuget包后,您应该使用自己的Local Nuget Feed进行分发。要执行此操作,请打开NuGet.config文件,并将插入新项目的本地Feed添加到packageSources(使用nuget包的本地文件夹的路径):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
    <add key="AspNetVNext" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
    ...
    <add key="LocalFeed" value="<path to your local folder>" />
</packageSources>