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
33 changes: 26 additions & 7 deletions src/NuGet.Core/NuGet.Commands/RestoreCommand/RestoreCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1546,13 +1546,32 @@ private async Task<bool> ValidateConflictsAsync(IEnumerable<RestoreTargetGraph>
{
foreach (var versionConflict in graph.AnalyzeResult.VersionConflicts)
{
var message = string.Format(
CultureInfo.CurrentCulture,
Strings.Log_VersionConflict,
versionConflict.Selected.Key.Name,
versionConflict.Selected.GetIdAndVersionOrRange(),
_request.Project.Name)
+ $" {Environment.NewLine} {versionConflict.Selected.GetPathWithLastRange()} {Environment.NewLine} {versionConflict.Conflicting.GetPathWithLastRange()}.";
string message;

bool isPinningEnabled = _request.Project.RestoreMetadata?.CentralPackageVersionsEnabled == true && _request.Project.RestoreMetadata?.CentralPackageTransitivePinningEnabled == true; // If pinning is enabled for this project, the error message can provide details about adding a PackageVersion.
// If pinning is enabled, then this package is not centrally managed yet.
// If the conflicting package was centrally managed, it'd be pinned and a pinned package cannot cause downgrades or version conflicts.
// A pinned package would basically raise NU1109 if downgraded or no error otherwise.

if (isPinningEnabled)
{
message = string.Format(
CultureInfo.CurrentCulture,
Strings.Log_VersionConflictForCentralTransitive,
versionConflict.Selected.Key.Name,
versionConflict.Selected.GetIdAndVersionOrRange())
+ $" {Environment.NewLine} {versionConflict.Selected.GetPathWithLastRange()} {Environment.NewLine} {versionConflict.Conflicting.GetPathWithLastRange()}.";
}
else
{
message = string.Format(
CultureInfo.CurrentCulture,
Strings.Log_VersionConflict,
versionConflict.Selected.Key.Name,
versionConflict.Selected.GetIdAndVersionOrRange(),
_request.Project.Name)
+ $" {Environment.NewLine} {versionConflict.Selected.GetPathWithLastRange()} {Environment.NewLine} {versionConflict.Conflicting.GetPathWithLastRange()}.";
}

await logger.LogAsync(RestoreLogMessage.CreateError(NuGetLogCode.NU1107, message, versionConflict.Selected.Key.Name, graph.TargetGraphName));
return false;
Expand Down
9 changes: 9 additions & 0 deletions src/NuGet.Core/NuGet.Commands/Strings.Designer.cs

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

3 changes: 3 additions & 0 deletions src/NuGet.Core/NuGet.Commands/Strings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,9 @@
<data name="Log_VersionConflict" xml:space="preserve">
<value>Version conflict detected for {0}. Install/reference {1} directly to project {2} to resolve this issue.</value>
</data>
<data name="Log_VersionConflictForCentralTransitive" xml:space="preserve">
<value>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</value>
</data>
<data name="Error_UnknownBuildAction" xml:space="preserve">
<value>Package '{0}' specifies an invalid build action '{1}' for file '{2}'.</value>
</data>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.cs.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Upgradujte svou sadu .NET SDK nebo odeberte RestoreUseLegacyDependencyResolver,
<target state="translated">Pro {0} se zjistil konflikt. Pokud chcete tento problém vyřešit, nainstalujte nebo vytvořte odkaz na {1} přímo do projektu {2}.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Soubor prostředků se zapisuje na disk. Cesta: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.de.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Aktualisieren Sie Ihr .NET SDK oder entfernen Sie RestoreUseLegacyDependencyReso
<target state="translated">Versionskonflikt entdeckt für "{0}". Installieren bzw. referenzieren Sie "{1}" direkt in Projekt "{2}", um dieses Problem zu beheben.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Die Assetdatei wird auf den Datenträger geschrieben. Pfad: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.es.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Actualice el SDK de .NET o quite RestoreUseLegacyDependencyResolver para usar es
<target state="translated">Se detectó un conflicto de versiones para {0}. Para resolver este problema, instale o haga referencia a {1} directamente en el proyecto {2}.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Escribiendo el archivo de recursos en el disco. Ruta de acceso: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.fr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Mettez à niveau votre Kit de développement logiciel (SDK) .NET ou supprimez Re
<target state="translated">Conflit de version détecté pour {0}. Installez/référencez {1} directement au projet {2} pour résoudre ce problème.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Écriture du fichier des composants sur le disque. Chemin : {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.it.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Per usare questa funzionalità, aggiornare .NET SDK o rimuovere RestoreUseLegacy
<target state="translated">È stato rilevato un conflitto di versioni per {0}. Per risolvere questo problema, installare {1} o farvi riferimento direttamente nel progetto {2}.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Scrittura del file di asset sul disco. Percorso: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.ja.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Upgrade your .NET SDK or remove RestoreUseLegacyDependencyResolver to use this f
<target state="translated">{0} のバージョンの競合が検出されました。この問題を解決するには、{1} をプロジェクト {2} に直接インストールするか、参照します。</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">アセット ファイルをディスクに書き込んでいます。パス: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.ko.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Upgrade your .NET SDK or remove RestoreUseLegacyDependencyResolver to use this f
<target state="translated">{0}에 대해 버전 충돌이 검색되었습니다. 이 문제를 해결하려면 {1}을(를) {2} 프로젝트에 직접 설치/참조하세요.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">자산 파일을 디스크에 쓰는 중입니다. 경로: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.pl.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Uaktualnij zestaw .NET SDK lub usuń RestoreUseLegacyDependencyResolver, aby kor
<target state="translated">Wykryto konflikt wersji dla elementu {0}. Zainstaluj element {1} lub utwórz jego odwołanie bezpośrednio w projekcie {2}, aby rozwiązać ten problem.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Zapisywanie pliku zasobów na dysk. Ścieżka: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.pt-BR.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Atualize o SDK do .NET ou remova RestoreUseLegacyDependencyResolver para usar es
<target state="translated">Conflito de versão detectado para {0}. Instale/referencie {1} diretamente no projeto {2} para resolver esse problema.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Gravando o arquivo de ativos no disco. Caminho: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.ru.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Upgrade your .NET SDK or remove RestoreUseLegacyDependencyResolver to use this f
<target state="translated">Обнаружен конфликт версий для {0}. Установите или укажите прямую ссылку {1} на проект {2}, чтобы устранить эту проблему.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Запись файла ресурсов на диск. Путь: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.tr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Bu özelliği kullanmak için .NET SDK'nizi yükseltin veya RestoreUseLegacyDepe
<target state="translated">{0} için sürüm çakışması algılandı. Bu sorunu çözmek için {1} öğesini doğrudan {2} projesine ekleyin veya burada başvurun.</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">Varlıklar dosyası diske yazılıyor. Yol: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.zh-Hans.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Upgrade your .NET SDK or remove RestoreUseLegacyDependencyResolver to use this f
<target state="translated">{0} 中检测到版本冲突。直接安装/引用 {1} 到项目 {2} 可解决此问题。</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">将资产文件写入磁盘。路径: {0}</target>
Expand Down
5 changes: 5 additions & 0 deletions src/NuGet.Core/NuGet.Commands/xlf/Strings.zh-Hant.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ Upgrade your .NET SDK or remove RestoreUseLegacyDependencyResolver to use this f
<target state="translated">偵測到 {0} 有版本衝突。請將 {1} 直接安裝/參考到專案 {2} 來解決此問題。</target>
<note />
</trans-unit>
<trans-unit id="Log_VersionConflictForCentralTransitive">
<source>Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</source>
<target state="new">Version conflict detected for {0}. Central Package Management transitive pinning is enabled. Add a PackageVersion for {1} to resolve this issue.</target>
<note />
</trans-unit>
<trans-unit id="Log_WritingAssetsFile">
<source>Writing assets file to disk. Path: {0}</source>
<target state="translated">正在將資產檔案寫入磁碟。路徑: {0}</target>
Expand Down
Loading
Loading