具有.net核心/代码的项目特定Nuget.config

时间:2017-10-17 16:34:40

标签: nuget .net-core nuget-package-restore

通常,我们从users\[loggedinuser\AppData\Roaming\Nuget获取Nuget.config,但我们有一个特定项目,我们需要使用不同的项目特定配置文件。在这种情况下,我在哪里放置配置文件?

我正在使用.net核心SDK 1.0.4和.net代码。

构建脚本执行此操作:

cd src\SFMC.Adapter.Service
dotnet restore
dotnet build

我可以将参数传递给dotnet restore以指示配置的位置吗?

3 个答案:

答案 0 :(得分:5)

假设您的项目结构如下:

Project/
└── src
    ├── SFMC.Adapter.Client
    ├── SFMC.Adapter.Service
    │   ├── Program.cs
    │   └── Project.csproj
    └── SFMC.Adapter.Service.Test

您可以在项目树中的任何位置添加Nuget文件。放置它会影响默认情况下哪些项目看到它。 dotnet restore将搜索目录树中的所有Nuget.config个文件,以添加找到的所有来源。

如果您将其放在Service.cs旁边,则只会被SFMC.Adapter.Service选中。如果您将其放在src下,SFMC.Adapter.ServiceSFMC.Adapater.Service.TestSFMC.Adapter.Client将会提取并使用它。

有关详细信息,请参阅NuGet configuration docs

答案 1 :(得分:2)

来自Nuget docs

  

项目特定的NuGet.Config文件,位于从解决方案文件夹到驱动器根目录的任何文件夹中。这些允许控制设置,因为它们适用于项目或一组项目。

因此,您可以将Nuget配置文件与项目文件放在一起,为该项目提供特定配置。

答案 2 :(得分:2)

我知道这是一个相当老的帖子,但我也在努力解决它并且很难找到正确的文档。我最终发现您可以执行以下命令将新的 nuget 配置添加到您所在的位置。 dotnet new nugetconfig

这将使用 dotnet cli 使用 nugetconfig 模板(似乎是默认安装的)生成正确的文件