Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/Cli/dotnet/CliStrings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,9 @@ setx PATH "%PATH%;{0}"
<data name="FailedToFindToolAssembly" xml:space="preserve">
<value>{0}: failed to find toolAssembly for {1}</value>
</data>
<data name="CannotUseAddSourceWithSourceMapping" xml:space="preserve">
<value>The --add-source option cannot be combined with package source mapping. To use an additional source, update your NuGet configuration file's source mapping settings. Learn more: https://aka.ms/nuget-package-source-mapping</value>
</data>
<data name="FailedToLoadNuGetSource" xml:space="preserve">
<value>Failed to load NuGet source {0}</value>
</data>
Expand Down
25 changes: 25 additions & 0 deletions src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,25 @@ private IEnumerable<PackageSource> LoadOverrideSources(PackageSourceLocation pac

}

private void ValidateSourceMappingCompatibility(PackageSourceLocation sourceLocation, PackageSourceMapping mapping)
{
// When mapping feature is active and user specified extra feeds via CLI, this creates a conflict
// because the extra feeds won't be in the mapping configuration
if (mapping?.IsEnabled != true)
{
return;
}

var extraFeeds = sourceLocation?.AdditionalSourceFeed;
if (extraFeeds == null || extraFeeds.Length == 0)
{
return;
}

// Found both mapping and CLI-added feeds - this combination won't work
throw new NuGetPackageInstallerException(CliStrings.CannotUseAddSourceWithSourceMapping);
}

private List<PackageSource> LoadDefaultSources(PackageId packageId, PackageSourceLocation packageSourceLocation = null, PackageSourceMapping packageSourceMapping = null)
{
List<PackageSource> defaultSources = [];
Expand All @@ -395,6 +414,12 @@ private List<PackageSource> LoadDefaultSources(PackageId packageId, PackageSourc

packageSourceMapping ??= PackageSourceMapping.GetPackageSourceMapping(settings);

// Ensure compatibility between source mapping configuration and CLI options
if (_shouldUsePackageSourceMapping)
{
ValidateSourceMappingCompatibility(packageSourceLocation, packageSourceMapping);
}

// filter package patterns if enabled
if (_shouldUsePackageSourceMapping && packageSourceMapping?.IsEnabled == true)
{
Expand Down
5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.cs.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.de.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.es.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.fr.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.it.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.ja.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.ko.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.pl.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.pt-BR.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.ru.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.tr.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.zh-Hans.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/Cli/dotnet/xlf/CliStrings.zh-Hant.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading