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

具有.net核心/代码的特定于项目的Nuget.config,nuget,.net-core,nuget-package-restore,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以指示配置的位置?假设您的项目结构如下

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

我使用的是.net核心SDK 1.0.4和.net代码

生成脚本执行以下操作:

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

我是否可以将参数传递到
dotnet restore
以指示配置的位置?

假设您的项目结构如下所示:

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.Service
SFMC.Adapter.Service.Test
SFMC.Adapter.Client
拾取并使用

有关更多详细信息,请参阅。

来自:

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


因此,您可以在项目文件旁边放置一个Nuget配置文件,为该项目提供一个特定的配置。

我知道这是一篇相当古老的文章,但我也很难找到正确的文档。我最终发现,您可以执行下面的命令,在y所在的位置添加一个新的Nuget配置你是。
dotnet新nugetconfig


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

次要输入:NuGet将仅为运行还原的文件拾取该文件,因此,如果从测试项目中进行还原,则来自测试->服务的项目引用不应拾取服务项目中的配置。但文档中说:在解决方案文件夹中,设置将应用于子文件夹中的所有项目。注意如果一个配置文件被放置在一个项目文件夹中,它对该项目没有影响。确认这是最好的答案,谢谢,你保存了我的一天。