Implement the dotnet list package command.

This commit implements the `dotnet list package` command.
This commit is contained in:
Abood AbuHashem 2018-07-31 15:24:08 -07:00 committed by Peter Huene
parent e6902ae07e
commit 7d2f3151e8
No known key found for this signature in database
GPG key ID: E1D265D820213D6A
55 changed files with 2157 additions and 34 deletions

View file

@ -243,6 +243,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-install-tool.Tests",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver.Tests", "test\Microsoft.DotNet.MSBuildSdkResolver.Tests\Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj", "{B7C82980-F01D-4B8A-A746-BFA0032CB152}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-list-package.Tests", "test\dotnet-list-package.Tests\dotnet-list-package.Tests.csproj", "{14C91E15-BD00-4218-9674-6AD216D89AB8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -1747,6 +1749,30 @@ Global
{B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
{B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
{B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Debug|x64.ActiveCfg = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Debug|x64.Build.0 = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Debug|x86.ActiveCfg = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Debug|x86.Build.0 = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.MinSizeRel|x64.Build.0 = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.MinSizeRel|x86.Build.0 = Debug|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Release|Any CPU.Build.0 = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Release|x64.ActiveCfg = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Release|x64.Build.0 = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Release|x86.ActiveCfg = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.Release|x86.Build.0 = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
{14C91E15-BD00-4218-9674-6AD216D89AB8}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1824,6 +1850,7 @@ Global
{EDF19BE6-F20F-4AD0-8E3B-E837030726A5} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
{8FE9D802-57F3-493B-9E14-72DF905E3838} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
{B7C82980-F01D-4B8A-A746-BFA0032CB152} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
{14C91E15-BD00-4218-9674-6AD216D89AB8} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5}

View file

@ -646,4 +646,10 @@ setx PATH "%PATH%;{0}"
<data name="VersionSuffixArgumentName" xml:space="preserve">
<value>VERSION_SUFFIX</value>
</data>
</root>
<data name="SolutionOrProjectArgumentDescription" xml:space="preserve">
<value>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</value>
</data>
<data name="SolutionOrProjectArgumentName" xml:space="preserve">
<value>PROJECT | SOLUTION</value>
</data>
</root>

View file

@ -7,6 +7,7 @@ using Microsoft.DotNet.Cli;
using Microsoft.DotNet.Cli.CommandLine;
using Microsoft.DotNet.Cli.Utils;
using Microsoft.DotNet.Tools.List.ProjectToProjectReferences;
using Microsoft.DotNet.Tools.List.PackageReferences;
namespace Microsoft.DotNet.Tools.List
{
@ -23,6 +24,10 @@ namespace Microsoft.DotNet.Tools.List
{
"reference",
o => new ListProjectToProjectReferencesCommand(o, ParseResult)
},
{
"package",
o => new ListPackageReferencesCommand(o, ParseResult)
}
};

View file

@ -14,11 +14,12 @@ namespace Microsoft.DotNet.Cli
"list",
LocalizableStrings.NetListCommand,
Accept.ZeroOrOneArgument()
.With(
name: CommonLocalizableStrings.ProjectArgumentName,
description: CommonLocalizableStrings.ProjectArgumentDescription)
.DefaultToCurrentDirectory(),
CommonOptions.HelpOption(),
ListProjectToProjectReferencesCommandParser.ListProjectToProjectReferences());
.With(
name: CommonLocalizableStrings.SolutionOrProjectArgumentName,
description: CommonLocalizableStrings.SolutionOrProjectArgumentDescription)
.DefaultToCurrentDirectory(),
ListPackageReferencesCommandParser.ListPackageReferences(),
ListProjectToProjectReferencesCommandParser.ListProjectToProjectReferences(),
CommonOptions.HelpOption());
}
}

View file

@ -118,6 +118,6 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="NetListCommand" xml:space="preserve">
<value>List references of a .NET project.</value>
<value>List references or packages of a .NET project.</value>
</data>
</root>

View file

@ -0,0 +1,197 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.DotNet.Cli;
using Microsoft.DotNet.Cli.CommandLine;
using Microsoft.DotNet.Tools.Common;
using Microsoft.DotNet.Tools.NuGet;
namespace Microsoft.DotNet.Tools.List.PackageReferences
{
internal class ListPackageReferencesCommand : CommandBase
{
//The file or directory passed down by the command
private readonly string _fileOrDirectory;
private AppliedOption _appliedCommand;
public ListPackageReferencesCommand(
AppliedOption appliedCommand,
ParseResult parseResult) : base(parseResult)
{
if (appliedCommand == null)
{
throw new ArgumentNullException(nameof(appliedCommand));
}
// Gets the absolute path of the given path
_fileOrDirectory = PathUtility.GetAbsolutePath(PathUtility.EnsureTrailingSlash(Directory.GetCurrentDirectory()),
appliedCommand.Arguments.Single());
FileAttributes attr = File.GetAttributes(_fileOrDirectory);
if (attr.HasFlag(FileAttributes.Directory))
{
_fileOrDirectory = PathUtility.EnsureTrailingSlash(_fileOrDirectory);
}
_appliedCommand = appliedCommand["package"];
}
public override int Execute()
{
var result = NuGetCommand.Run(TransformArgs());
return result;
}
private string[] TransformArgs()
{
var args = new List<string>
{
"package",
"list",
};
args.Add(GetProjectOrSolution());
if (_appliedCommand.HasOption("outdated"))
{
args.Add("--outdated");
}
if (_appliedCommand.HasOption("include-transitive"))
{
args.Add("--include-transitive");
}
if (_appliedCommand.HasOption("framework"))
{
//Forward framework as multiple flags
foreach (var framework in _appliedCommand.AppliedOptions["framework"].Arguments)
{
args.Add("--framework");
args.Add(framework);
}
}
if (_appliedCommand.HasOption("include-prerelease"))
{
CheckForOutdated("--include-prerelease");
args.Add("--include-prerelease");
}
if (_appliedCommand.HasOption("highest-patch"))
{
CheckForOutdated("--highest-patch");
args.Add("--highest-patch");
}
if (_appliedCommand.HasOption("highest-minor"))
{
CheckForOutdated("--highest-minor");
args.Add("--highest-minor");
}
if (_appliedCommand.HasOption("config"))
{
CheckForOutdated("--config");
args.Add("--config");
//Config path absolute path
var configPath = PathUtility.GetAbsolutePath(PathUtility.EnsureTrailingSlash(Directory.GetCurrentDirectory()),
_appliedCommand.AppliedOptions["config"].Arguments.Single());
args.Add(configPath);
}
if (_appliedCommand.HasOption("source"))
{
CheckForOutdated("--source");
//Forward source as multiple flags
foreach (var source in _appliedCommand.AppliedOptions["source"].Arguments)
{
args.Add("--source");
args.Add(source);
}
}
return args.ToArray();
}
/// <summary>
/// A check for the outdated specific options. If --outdated not present,
/// these options must not be used, so error is thrown
/// </summary>
/// <param name="option"></param>
private void CheckForOutdated(string option)
{
if (!_appliedCommand.HasOption("outdated"))
{
throw new Exception(string.Format(LocalizableStrings.OutdatedOptionOnly, option));
}
}
/// <summary>
/// Gets a solution file or a project file from a given directory.
/// If the given path is a file, it just returns it after checking
/// it exists.
/// </summary>
/// <returns>Path to send to the command</returns>
private string GetProjectOrSolution()
{
string resultPath = _fileOrDirectory;
FileAttributes attr = File.GetAttributes(resultPath);
if (attr.HasFlag(FileAttributes.Directory))
{
var possibleSolutionPath = Directory.GetFiles(resultPath, "*.sln", SearchOption.TopDirectoryOnly);
//If more than a single sln file is found, an error is thrown since we can't determine which one to choose.
if (possibleSolutionPath.Count() > 1)
{
throw new Exception(LocalizableStrings.MultipleSolutionsFound + Environment.NewLine + string.Join(Environment.NewLine, possibleSolutionPath.ToArray()));
}
//If a single solution is found, use it.
else if (possibleSolutionPath.Count() == 1)
{
return possibleSolutionPath[0];
}
//If no solutions are found, look for a project file
else
{
var possibleProjectPath = Directory.GetFiles(resultPath, "*.*proj", SearchOption.TopDirectoryOnly)
.Where(path => !path.EndsWith(".xproj", StringComparison.OrdinalIgnoreCase))
.ToList();
//No projects found throws an error that no sln nor projs were found
if (possibleProjectPath.Count() == 0)
{
throw new Exception(LocalizableStrings.NoProjectsOrSolutions);
}
//A single project found, use it
else if (possibleProjectPath.Count() == 1)
{
return possibleProjectPath[0];
}
//More than one project found. Not sure which one to choose
else
{
throw new Exception(LocalizableStrings.MultipleProjectsFound + Environment.NewLine + string.Join(Environment.NewLine, possibleProjectPath.ToArray()));
}
}
}
//Make sure the file exists
if (!File.Exists(resultPath))
{
throw new FileNotFoundException(LocalizableStrings.FileNotFound, resultPath);
}
return resultPath;
}
}
}

View file

@ -0,0 +1,43 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.Linq;
using Microsoft.DotNet.Cli.CommandLine;
using LocalizableStrings = Microsoft.DotNet.Tools.List.PackageReferences.LocalizableStrings;
namespace Microsoft.DotNet.Cli
{
internal static class ListPackageReferencesCommandParser
{
public static Command ListPackageReferences() => Create.Command(
"package",
LocalizableStrings.AppFullName,
Accept.ZeroOrOneArgument(),
CommonOptions.HelpOption(),
Create.Option("--outdated",
LocalizableStrings.CmdOutdatedDescription),
Create.Option("--framework",
LocalizableStrings.CmdFrameworkDescription,
Accept.OneOrMoreArguments()
.With(name: LocalizableStrings.CmdFramework)
.ForwardAsSingle(o => $"--framework {string.Join("%3B", o.Arguments)}")),
Create.Option("--include-transitive",
LocalizableStrings.CmdTransitiveDescription),
Create.Option("--include-prerelease",
LocalizableStrings.CmdPrereleaseDescription),
Create.Option("--highest-patch",
LocalizableStrings.CmdHighestPatchDescription),
Create.Option("--highest-minor",
LocalizableStrings.CmdHighestMinorDescription),
Create.Option("--config",
LocalizableStrings.CmdConfigDescription,
Accept.ExactlyOneArgument()
.With(name: LocalizableStrings.CmdConfig)
.ForwardAsSingle(o => $"--config {o.Arguments.Single()}")),
Create.Option("--source",
LocalizableStrings.CmdSourceDescription,
Accept.OneOrMoreArguments()
.With(name: LocalizableStrings.CmdSource)
.ForwardAsSingle(o => $"--source {string.Join("%3B", o.Arguments)}")));
}
}

View file

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AppFullName" xml:space="preserve">
<value>List all packages references of the project.</value>
</data>
<data name="CmdFramework" xml:space="preserve">
<value>FRAMEWORK | FRAMEWORK\RID</value>
</data>
<data name="CmdFrameworkDescription" xml:space="preserve">
<value>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</value>
</data>
<data name="CmdOutdatedDescription" xml:space="preserve">
<value>Lists packages that have newer versions.</value>
</data>
<data name="CmdTransitiveDescription" xml:space="preserve">
<value>Lists transitive and top-level packages.</value>
</data>
<data name="MultipleProjectsFound" xml:space="preserve">
<value>The directory given includes multiple projects. Please specify one of the following projects:</value>
</data>
<data name="MultipleSolutionsFound" xml:space="preserve">
<value>The directory given includes multiple solutions. Please specify one of the following solutions:</value>
</data>
<data name="NoProjectsOrSolutions" xml:space="preserve">
<value>The given directory does not include any solution or project.</value>
</data>
<data name="CmdConfig" xml:space="preserve">
<value>CONFIG FILE</value>
</data>
<data name="CmdConfigDescription" xml:space="preserve">
<value>A path to a config file to specify sources. Works only with `--outdated`.</value>
</data>
<data name="CmdHighestMinorDescription" xml:space="preserve">
<value>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</value>
</data>
<data name="CmdHighestPatchDescription" xml:space="preserve">
<value>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</value>
</data>
<data name="CmdPrereleaseDescription" xml:space="preserve">
<value>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</value>
</data>
<data name="CmdSource" xml:space="preserve">
<value>SOURCE</value>
</data>
<data name="CmdSourceDescription" xml:space="preserve">
<value>Sources to lookup for latest versions. Works only with `--outdated`.</value>
</data>
<data name="OutdatedOptionOnly" xml:space="preserve">
<value>This option `{0}` can only be used with `--outdated` present.</value>
</data>
<data name="FileNotFound" xml:space="preserve">
<value>The given file was not found. Please make sure that you are passing the correct path.</value>
</data>
</root>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="cs" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Zobrazí všechny odkazy mezi projekty v projektu.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="de" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Hiermit listen Sie alle Projekt-zu-Projekt-Verweise des Projekts auf.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="es" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Enumera referencias de proyecto a proyecto del proyecto.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="fr" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Listez toutes les références projet à projet du projet.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="it" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Elenca tutti i riferimenti P2P (da progetto a progetto) del progetto.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="ja" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">プロジェクトのすべてのプロジェクト間参照をリストします。</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="ko" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">프로젝트의 모든 프로젝트 간 참조를 나열합니다.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="pl" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Wyświetl listę wszystkich odwołań między projektami w projekcie.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="pt-BR" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Listar todas as referências de projeto a projeto do projeto.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="ru" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Вывод списка всех ссылок из одного проекта на другой.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="tr" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">Projenin tüm projeden projeye başvurularını listeleyin.</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" original="src/dotnet/commands/dotnet-list/dotnet-list-p2ps/LocalizableStrings.resx">
<body>
<group id="src/dotnet/commands/dotnet-list/dotnet-list-p2ps/LocalizableStrings.resx" />
<trans-unit id="AppFullName">
<source>.NET Core Project-to-Project dependency viewer</source>
<note />
</trans-unit>
<trans-unit id="AppDescription">
<source>Command to list project to project references</source>
<note />
</trans-unit>
<trans-unit id="NoReferencesFound">
<source>There are no {0} references in project {1}.
{0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). </source>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="zh-Hans" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">列出项目的所有项目到项目引用。</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="zh-Hant" original="../LocalizableStrings.resx">
<body>
<trans-unit id="AppFullName">
<source>List all packages references of the project.</source>
<target state="needs-review-translation">列出專案的所有專案對專案參考。</target>
<note />
</trans-unit>
<trans-unit id="CmdFramework">
<source>FRAMEWORK | FRAMEWORK\RID</source>
<target state="new">FRAMEWORK | FRAMEWORK\RID</target>
<note />
</trans-unit>
<trans-unit id="CmdFrameworkDescription">
<source>Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</source>
<target state="new">Chooses a framework to show its packages. Use the option multiple times for multiple frameworks.</target>
<note />
</trans-unit>
<trans-unit id="CmdOutdatedDescription">
<source>Lists packages that have newer versions.</source>
<target state="new">Lists packages that have newer versions.</target>
<note />
</trans-unit>
<trans-unit id="CmdTransitiveDescription">
<source>Lists transitive and top-level packages.</source>
<target state="new">Lists transitive and top-level packages.</target>
<note />
</trans-unit>
<trans-unit id="MultipleProjectsFound">
<source>The directory given includes multiple projects. Please specify one of the following projects:</source>
<target state="new">The directory given includes multiple projects. Please specify one of the following projects:</target>
<note />
</trans-unit>
<trans-unit id="MultipleSolutionsFound">
<source>The directory given includes multiple solutions. Please specify one of the following solutions:</source>
<target state="new">The directory given includes multiple solutions. Please specify one of the following solutions:</target>
<note />
</trans-unit>
<trans-unit id="NoProjectsOrSolutions">
<source>The given directory does not include any solution or project.</source>
<target state="new">The given directory does not include any solution or project.</target>
<note />
</trans-unit>
<trans-unit id="CmdConfig">
<source>CONFIG FILE</source>
<target state="new">CONFIG FILE</target>
<note />
</trans-unit>
<trans-unit id="CmdConfigDescription">
<source>A path to a config file to specify sources. Works only with `--outdated`.</source>
<target state="new">A path to a config file to specify sources. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestMinorDescription">
<source>Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdHighestPatchDescription">
<source>Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers only the versions that have matching minor and major when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdPrereleaseDescription">
<source>Considers prerelease versions when looking for latest version. Works only with `--outdated`.</source>
<target state="new">Considers prerelease versions when looking for latest version. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="CmdSource">
<source>SOURCE</source>
<target state="new">SOURCE</target>
<note />
</trans-unit>
<trans-unit id="CmdSourceDescription">
<source>Sources to lookup for latest versions. Works only with `--outdated`.</source>
<target state="new">Sources to lookup for latest versions. Works only with `--outdated`.</target>
<note />
</trans-unit>
<trans-unit id="OutdatedOptionOnly">
<source>This option `{0}` can only be used with `--outdated` present.</source>
<target state="new">This option `{0}` can only be used with `--outdated` present.</target>
<note />
</trans-unit>
<trans-unit id="FileNotFound">
<source>The given file was not found. Please make sure that you are passing the correct path.</source>
<target state="new">The given file was not found. Please make sure that you are passing the correct path.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="cs" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Zobrazí odkazy projektu .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Zobrazí odkazy projektu .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="de" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Hiermit listen Sie die Verweise eines .NET-Projekts auf.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Hiermit listen Sie die Verweise eines .NET-Projekts auf.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="es" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Enumera las referencias de un proyecto de .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Enumera las referencias de un proyecto de .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="fr" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Listez les références d'un projet .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Listez les références d'un projet .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="it" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Elenca i riferimenti di un progetto .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Elenca i riferimenti di un progetto .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="ja" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">.NET プロジェクトの参照を一覧表示します。</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">.NET プロジェクトの参照を一覧表示します。</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="ko" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">.NET 프로젝트의 참조를 나열합니다.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">.NET 프로젝트의 참조를 나열합니다.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="pl" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Wyświetl listę odwołań projektu .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Wyświetl listę odwołań projektu .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="pt-BR" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Liste as referências de um projeto do .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Liste as referências de um projeto do .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="ru" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Вывод списка ссылок для проекта .NET.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Вывод списка ссылок для проекта .NET.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="tr" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">Bir .NET projesinin başvurularını listeleyin.</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">Bir .NET projesinin başvurularını listeleyin.</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="zh-Hans" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">列出 .NET 项目的引用。</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">列出 .NET 项目的引用。</target>
<note />
</trans-unit>
</body>

View file

@ -3,8 +3,8 @@
<file datatype="xml" source-language="en" target-language="zh-Hant" original="../LocalizableStrings.resx">
<body>
<trans-unit id="NetListCommand">
<source>List references of a .NET project.</source>
<target state="translated">列出 .NET 專案的參考。</target>
<source>List references or packages of a .NET project.</source>
<target state="needs-review-translation">列出 .NET 專案的參考。</target>
<note />
</trans-unit>
</body>

View file

@ -26,6 +26,7 @@
<EmbeddedResource Update="**\dotnet-buildserver\shutdown\*.resx" Namespace="Microsoft.DotNet.Tools.BuildServer.Shutdown" />
<EmbeddedResource Update="**\dotnet-clean\*.resx" Namespace="Microsoft.DotNet.Tools.Clean" />
<EmbeddedResource Update="**\dotnet-help\*.resx" Namespace="Microsoft.DotNet.Tools.Help" />
<EmbeddedResource Update="**\dotnet-list-package\*.resx" Namespace="Microsoft.DotNet.Tools.List.PackageReferences" />
<EmbeddedResource Update="**\dotnet-list-reference\*.resx" Namespace="Microsoft.DotNet.Tools.List.ProjectToProjectReferences" />
<EmbeddedResource Update="**\dotnet-list\*.resx" Namespace="Microsoft.DotNet.Tools.List" />
<EmbeddedResource Update="**\dotnet-migrate\*.resx" Namespace="Microsoft.DotNet.Tools.Migrate" />

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">SUFIJO_DE_VERSIÓN</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">SUFFIXE_VERSION</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">SUFFISSO_VERSIONE</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">SUFIKS_WERSJI</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">SUFIXO_DA_VERSÃO</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">SÜRÜM_SONEKİ</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -893,6 +893,16 @@ setx PATH "%PATH%;{0}"
<target state="translated">VERSION_SUFFIX</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentDescription">
<source>The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</source>
<target state="new">The project (or solution only with package command) file to operate on. If a file is not specified, the command will search the current directory for a (solution if used with package command then a) project.</target>
<note />
</trans-unit>
<trans-unit id="SolutionOrProjectArgumentName">
<source>PROJECT | SOLUTION</source>
<target state="new">PROJECT | SOLUTION</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -62,6 +62,17 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
return new AndConstraint<CommandResultAssertions>(this);
}
public AndConstraint<CommandResultAssertions> HaveStdOutContainingIgnoreSpaces(string pattern)
{
string commandResultNoSpaces = _commandResult.StdOut.Replace(" ", "");
Execute.Assertion
.ForCondition(commandResultNoSpaces.Contains(pattern))
.FailWith(AppendDiagnosticsTo($"The command output did not contain expected result: {pattern}{Environment.NewLine}"));
return new AndConstraint<CommandResultAssertions>(this);
}
public AndConstraint<CommandResultAssertions> HaveStdOutContainingIgnoreCase(string pattern)
{
Execute.Assertion.ForCondition(_commandResult.StdOut.IndexOf(pattern, StringComparison.OrdinalIgnoreCase) >= 0)

View file

@ -0,0 +1,24 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using Microsoft.DotNet.Cli.Utils;
namespace Microsoft.DotNet.Tools.Test.Utilities
{
public sealed class ListPackageCommand : DotnetCommand
{
private string _path = null;
public override CommandResult Execute(string args = "")
{
args = $"list {_path} package {args}";
return base.ExecuteWithCapturedOutput(args);
}
public ListPackageCommand WithPath(string path)
{
_path = path;
return this;
}
}
}

View file

@ -0,0 +1,262 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using FluentAssertions;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
using Xunit.Abstractions;
namespace Microsoft.DotNet.Cli.List.Package.Tests
{
public class GivenDotnetListPackage : TestBase
{
private readonly ITestOutputHelper _output;
public GivenDotnetListPackage(ITestOutputHelper output)
{
_output = output;
}
[Fact]
public void RequestedAndResolvedVersionsMatch()
{
var testAsset = "TestAppSimple";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
var packageName = "Newtonsoft.Json";
var packageVersion = "9.0.1";
var cmd = new DotnetCommand()
.WithWorkingDirectory(projectDirectory)
.ExecuteWithCapturedOutput($"add package {packageName} --version {packageVersion}");
cmd.Should().Pass();
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr()
.And.HaveStdOutContainingIgnoreSpaces(packageName+packageVersion+packageVersion);
}
[Fact]
public void AutoReferencedPackages()
{
var testAsset = "TestAppSimple";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr()
.And.HaveStdOutContainingIgnoreSpaces("Microsoft.NETCore.App(A)")
.And.HaveStdOutContainingIgnoreSpaces("(A):Auto-referencedpackage");
}
[Fact]
public void RunOnSolution()
{
var sln = "TestAppWithSlnAndSolutionFolders";
var projectDirectory = TestAssets
.Get(sln)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr()
.And.HaveStdOutContainingIgnoreSpaces("Microsoft.NETCore.App");
}
[Fact]
public void AssetsPathExistsButNotRestored()
{
var testAsset = "NewtonSoftDependentProject";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute()
.Should()
.Pass()
.And.HaveStdErr();
}
[Fact]
public void TransitivePackagePrinted()
{
var testAsset = "NewtonSoftDependentProject";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr()
.And.NotHaveStdOutContaining("System.IO.FileSystem");
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute(args:"--include-transitive")
.Should()
.Pass()
.And.NotHaveStdErr()
.And.HaveStdOutContaining("System.IO.FileSystem");
}
[Theory]
[InlineData("", "[.NETFramework,Version=v4.5.1]", null)]
[InlineData("", "[.NETCoreApp,Version=v2.2]", null)]
[InlineData("--framework netcoreapp2.2 --framework net451", "[.NETFramework,Version=v4.5.1]", null)]
[InlineData("--framework netcoreapp2.2 --framework net451", "[.NETCoreApp,Version=v2.2]", null)]
[InlineData("--framework netcoreapp2.2", "[.NETCoreApp,Version=v2.2]", "[.NETFramework,Version=v4.5.1]")]
[InlineData("--framework net451", "[.NETFramework,Version=v4.5.1]", "[.NETCoreApp,Version=v2.2]")]
public void FrameworkSpecificList_Success(string args, string shouldInclude, string shouldntInclude)
{
var testAsset = "MSBuildAppWithMultipleFrameworks";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
if (shouldntInclude == null)
{
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute(args)
.Should()
.Pass()
.And.NotHaveStdErr()
.And.HaveStdOutContainingIgnoreSpaces(shouldInclude.Replace(" ", ""));
}
else
{
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute(args)
.Should()
.Pass()
.And.NotHaveStdErr()
.And.HaveStdOutContainingIgnoreSpaces(shouldInclude.Replace(" ", ""))
.And.NotHaveStdOutContaining(shouldntInclude.Replace(" ", ""));
}
}
[Fact]
public void FrameworkSpecificList_Fail()
{
var testAsset = "MSBuildAppWithMultipleFrameworks";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass();
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute("--framework invalid")
.Should()
.Fail();
}
[Fact]
public void FSharpProject()
{
var testAsset = "FSharpTestAppSimple";
var projectDirectory = TestAssets
.Get(testAsset)
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
new ListPackageCommand()
.WithPath(projectDirectory)
.Execute()
.Should()
.Pass()
.And.NotHaveStdErr();
}
}
}

View file

@ -0,0 +1 @@
https://github.com/Microsoft/msbuild/issues/927

View file

@ -0,0 +1 @@
https://github.com/Microsoft/msbuild/issues/927

View file

@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetFramework>$(CliTargetFramework)</TargetFramework>
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<AssemblyName>dotnet-list-package.Tests</AssemblyName>
<AssemblyOriginatorKeyFile>../../tools/Key.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
<AssetTargetFallback>$(AssetTargetFallback);dotnet5.4;portable-net451+win8</AssetTargetFallback>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Microsoft.DotNet.Cli.Sln.Internal\Microsoft.DotNet.Cli.Sln.Internal.csproj" />
<ProjectReference Include="..\Msbuild.Tests.Utilities\Msbuild.Tests.Utilities.csproj" />
<ProjectReference Include="..\..\src\dotnet\dotnet.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="FluentAssertions" Version="4.18.0" />
<PackageReference Include="Microsoft.DotNet.ProjectJsonMigration" Version="$(MicrosoftDotNetProjectJsonMigrationPackageVersion)" />
</ItemGroup>
</Project>