diff options
author | Ankit Mishra <anmishr@microsoft.com> | 2018-05-22 20:16:09 +0300 |
---|---|---|
committer | Ankit Mishra <anmishr@microsoft.com> | 2018-05-22 20:16:09 +0300 |
commit | 67d7e5768d6ce34f26530d04d1ba40e5f2dab22f (patch) | |
tree | e4d0a4c16eb275c2889c880e8b22e3e007d08788 | |
parent | 0912cc96c0120da12e1975d2a96cbc8336e32dbf (diff) |
Improving other messages that referenced project.json
4 files changed, 88 insertions, 44 deletions
diff --git a/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs b/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs index 3b690ab..2a8e2d2 100644 --- a/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs +++ b/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs @@ -88,7 +88,7 @@ namespace Microsoft.NuGet.Build.Tasks.Tests runtimeIdentifier: "missing-runtime-identifier", allowFallbackOnTargetSelection: false)); - Assert.Equal(nameof(Strings.MissingRuntimeInRuntimesSection), exception.ResourceName); + Assert.Equal(nameof(Strings.MissingRuntimeInProjectJson), exception.ResourceName); Assert.Equal(new[] { "missing-runtime-identifier", "\"missing-runtime-identifier\": { }" }, exception.MessageArgs); } @@ -103,7 +103,7 @@ namespace Microsoft.NuGet.Build.Tasks.Tests allowFallbackOnTargetSelection: false, projectJsonFileContents: "{ }")); - Assert.Equal(nameof(Strings.MissingRuntimesSection), exception.ResourceName); + Assert.Equal(nameof(Strings.MissingRuntimesSectionInProjectJson), exception.ResourceName); Assert.Equal(new[] { "\"runtimes\": { \"missing-runtime-identifier\": { } }" }, exception.MessageArgs); } @@ -117,7 +117,7 @@ namespace Microsoft.NuGet.Build.Tasks.Tests runtimeIdentifier: "missing-runtime-identifier", allowFallbackOnTargetSelection: false)); - Assert.Equal(nameof(Strings.MissingFramework), exception.ResourceName); + Assert.Equal(nameof(Strings.MissingFrameworkInProjectJson), exception.ResourceName); Assert.Equal(new[] { "Missing,Version=1.0" }, exception.MessageArgs); } diff --git a/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs b/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs index aa56fe5..ac81c61 100644 --- a/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs +++ b/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs @@ -690,7 +690,7 @@ namespace Microsoft.NuGet.Build.Tasks } else { - ThrowExceptionIfNotAllowingFallback(nameof(Strings.MissingFramework), TargetMonikers.First().ItemSpec); + GiveErrorForMissingFramework(); } // If we're still here, that means we're allowing fallback, so let's try @@ -709,25 +709,34 @@ namespace Microsoft.NuGet.Build.Tasks var firstTarget = (JObject)enumerableTargets.FirstOrDefault().Value; if (firstTarget == null) { - throw new ExceptionFromResource(nameof(Strings.NoTargetsInLockFile)); + GiveErrorForNoTargets(); } return firstTarget; } + private void GiveErrorForNoTargets() + { + var noTargetsInLockFileErrorString = IsLockFileProjectJsonBased(ProjectLockFile) ? + nameof(Strings.NoTargetsInLockFileForProjectJson) : + nameof(Strings.NoTargetsInLockFileForCsproj); + + throw new ExceptionFromResource(noTargetsInLockFileErrorString); + } + private void GiveErrorForMissingRuntimeIdentifier() { var runtimePiece = RuntimeIdentifier; var runtimesSection = $"<{RuntimeIdentifiersProperty}>{RuntimeIdentifier}</{RuntimeIdentifiersProperty}>"; - var missingRuntimeInRuntimesErrorString = nameof(Strings.MissingSpecificRuntimeIdentifier); - var missingRuntimesErrorString = nameof(Strings.MissingRuntimeIdentifiers); + var missingRuntimeInRuntimesErrorString = nameof(Strings.MissingRuntimeIdentifierInCsproj); + var missingRuntimesErrorString = nameof(Strings.MissingRuntimeIdentifiersInCsproj); if (IsLockFileProjectJsonBased(ProjectLockFile)) { runtimePiece = '"' + RuntimeIdentifier + "\": { }"; runtimesSection = "\"runtimes\": { " + runtimePiece + " }"; - missingRuntimeInRuntimesErrorString = nameof(Strings.MissingRuntimeInRuntimesSection); - missingRuntimesErrorString = nameof(Strings.MissingRuntimesSection); + missingRuntimeInRuntimesErrorString = nameof(Strings.MissingRuntimeInProjectJson); + missingRuntimesErrorString = nameof(Strings.MissingRuntimesSectionInProjectJson); } bool hasRuntimesSection; @@ -755,6 +764,15 @@ namespace Microsoft.NuGet.Build.Tasks } } + private void GiveErrorForMissingFramework() + { + var missingFrameworkErrorString = IsLockFileProjectJsonBased(ProjectLockFile) ? + nameof(Strings.MissingFrameworkInProjectJson) : + nameof(Strings.MissingFrameworkInCsproj); + + ThrowExceptionIfNotAllowingFallback(missingFrameworkErrorString, TargetMonikers.First().ItemSpec); + } + private void ThrowExceptionIfNotAllowingFallback(string resourceName, params string[] messageArgs) { if (!AllowFallbackOnTargetSelection) diff --git a/src/Microsoft.NuGet.Build.Tasks/Strings.Designer.cs b/src/Microsoft.NuGet.Build.Tasks/Strings.Designer.cs index 429667d..6aebdb8 100644 --- a/src/Microsoft.NuGet.Build.Tasks/Strings.Designer.cs +++ b/src/Microsoft.NuGet.Build.Tasks/Strings.Designer.cs @@ -79,16 +79,25 @@ namespace Microsoft.NuGet.Build.Tasks { } /// <summary> - /// Looks up a localized string similar to Your project is not referencing the "{0}" framework. Add a reference to "{0}" in the "frameworks" section of your project.json, and then re-run NuGet restore.. + /// Looks up a localized string similar to Your project does not reference "{0}" framework. Add a reference to "{0}" in the "TargetFrameworks" property of your project csproj file and then re-run NuGet restore.. /// </summary> - internal static string MissingFramework { + internal static string MissingFrameworkInCsproj { get { - return ResourceManager.GetString("MissingFramework", resourceCulture); + return ResourceManager.GetString("MissingFrameworkInCsproj", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to Your project is consuming assets from the project '{0}' but no MSBuild project is found in the project.lock.json. Check the project references in your project file, and re-run NuGet restore.. + /// Looks up a localized string similar to Your project does not reference "{0}" framework. Add a reference to "{0}" in the "frameworks" section of your project.json and then re-run NuGet restore.. + /// </summary> + internal static string MissingFrameworkInProjectJson { + get { + return ResourceManager.GetString("MissingFrameworkInProjectJson", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Your project is consuming assets from the project '{0}' but no MSBuild project is found in the project lock file. Check the project references in your project csproj file and re-run NuGet restore.. /// </summary> internal static string MissingMSBuildPathInProjectPackage { get { @@ -106,56 +115,56 @@ namespace Microsoft.NuGet.Build.Tasks { } /// <summary> - /// Looks up a localized string similar to The project.json is referencing the project '{0}', but an output path was not specified on an item in the {1} property.. + /// Looks up a localized string similar to Your project csproj file doesn't list '{0}' as a targeted runtime. You should add '{1}' to the "RuntimeIdentifiers" property in your project csproj file and then re-run NuGet restore.. /// </summary> - internal static string MissingProjectReference { + internal static string MissingRuntimeIdentifierInCsproj { get { - return ResourceManager.GetString("MissingProjectReference", resourceCulture); + return ResourceManager.GetString("MissingRuntimeIdentifierInCsproj", resourceCulture); } } /// <summary> /// Looks up a localized string similar to Your project csproj file doesn't have the "RuntimeIdentifiers" property. You should add '{0}' to your project csproj file and then re-run NuGet restore.. /// </summary> - internal static string MissingRuntimeIdentifiers { + internal static string MissingRuntimeIdentifiersInCsproj { get { - return ResourceManager.GetString("MissingRuntimeIdentifiers", resourceCulture); + return ResourceManager.GetString("MissingRuntimeIdentifiersInCsproj", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to Your project.json doesn't list '{0}' as a targeted runtime. You should add '{1}' inside your "runtimes" section in your project.json, and then re-run NuGet restore.. + /// Looks up a localized string similar to Your project.json doesn't list '{0}' as a targeted runtime. You should add '{1}' inside your "runtimes" section in your project.json and then re-run NuGet restore.. /// </summary> - internal static string MissingRuntimeInRuntimesSection { + internal static string MissingRuntimeInProjectJson { get { - return ResourceManager.GetString("MissingRuntimeInRuntimesSection", resourceCulture); + return ResourceManager.GetString("MissingRuntimeInProjectJson", resourceCulture); } } /// <summary> /// Looks up a localized string similar to Your project.json doesn't have a runtimes section. You should add '{0}' to your project.json and then re-run NuGet restore.. /// </summary> - internal static string MissingRuntimesSection { + internal static string MissingRuntimesSectionInProjectJson { get { - return ResourceManager.GetString("MissingRuntimesSection", resourceCulture); + return ResourceManager.GetString("MissingRuntimesSectionInProjectJson", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to Your project csproj file doesn't list '{0}' as a targeted runtime. You should add '{1}' to the "RuntimeIdentifiers" property in your project csproj file and then re-run NuGet restore.. + /// Looks up a localized string similar to No targets could be found in the lock file. Make sure you have "RuntimeIdentifiers" property in your project csproj file.. /// </summary> - internal static string MissingSpecificRuntimeIdentifier { + internal static string NoTargetsInLockFileForCsproj { get { - return ResourceManager.GetString("MissingSpecificRuntimeIdentifier", resourceCulture); + return ResourceManager.GetString("NoTargetsInLockFileForCsproj", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to No targets could be found in the lock file. Make sure you have a supports or runtimes section i your project.json file.. + /// Looks up a localized string similar to No targets could be found in the lock file. Make sure you have a supports or runtimes section in your project.json file.. /// </summary> - internal static string NoTargetsInLockFile { + internal static string NoTargetsInLockFileForProjectJson { get { - return ResourceManager.GetString("NoTargetsInLockFile", resourceCulture); + return ResourceManager.GetString("NoTargetsInLockFileForProjectJson", resourceCulture); } } diff --git a/src/Microsoft.NuGet.Build.Tasks/Strings.resx b/src/Microsoft.NuGet.Build.Tasks/Strings.resx index 4490c3b..4e0906e 100644 --- a/src/Microsoft.NuGet.Build.Tasks/Strings.resx +++ b/src/Microsoft.NuGet.Build.Tasks/Strings.resx @@ -119,46 +119,63 @@ </resheader> <data name="DuplicatePreprocessorToken" xml:space="preserve"> <value>The preprocessor token '{0}' has been given more than one value. Choosing '{1}' as the value.</value> + <comment>0 token +1 - chosen value</comment> </data> <data name="LockFileNotFound" xml:space="preserve"> <value>Lock file {0} couldn't be found. Run a NuGet package restore to generate this file.</value> + <comment>0 - lock file</comment> </data> - <data name="MissingFramework" xml:space="preserve"> - <value>Your project is not referencing the "{0}" framework. Add a reference to "{0}" in the "frameworks" section of your project.json, and then re-run NuGet restore.</value> + <data name="MissingFrameworkInCsproj" xml:space="preserve"> + <value>Your project does not reference "{0}" framework. Add a reference to "{0}" in the "TargetFrameworks" property of your project csproj file and then re-run NuGet restore.</value> + <comment>0 - target framework</comment> + </data> + <data name="MissingFrameworkInProjectJson" xml:space="preserve"> + <value>Your project does not reference "{0}" framework. Add a reference to "{0}" in the "frameworks" section of your project.json and then re-run NuGet restore.</value> + <comment>0 - target framework</comment> </data> <data name="MissingMSBuildPathInProjectPackage" xml:space="preserve"> - <value>Your project is consuming assets from the project '{0}' but no MSBuild project is found in the project.lock.json. Check the project references in your project file, and re-run NuGet restore.</value> + <value>Your project is consuming assets from the project '{0}' but no MSBuild project is found in the project lock file. Check the project references in your project csproj file and re-run NuGet restore.</value> + <comment>0 - project name</comment> </data> <data name="MissingPackageInTargetsSection" xml:space="preserve"> <value>The package '{0}' could not be found in the libraries section of the lock file. This may indicate your lock file is corrupted.</value> + <comment>0 package id</comment> </data> - <data name="MissingProjectReference" xml:space="preserve"> - <value>The project.json is referencing the project '{0}', but an output path was not specified on an item in the {1} property.</value> + <data name="MissingRuntimeIdentifierInCsproj" xml:space="preserve"> + <value>Your project csproj file doesn't list '{0}' as a targeted runtime. You should add '{1}' to the "RuntimeIdentifiers" property in your project csproj file and then re-run NuGet restore.</value> + <comment>0 &1 - Runtime Identifier</comment> </data> - <data name="MissingRuntimeIdentifiers" xml:space="preserve"> + <data name="MissingRuntimeIdentifiersInCsproj" xml:space="preserve"> <value>Your project csproj file doesn't have the "RuntimeIdentifiers" property. You should add '{0}' to your project csproj file and then re-run NuGet restore.</value> - <comment>0 - RID</comment> + <comment>0 - Runtime Identifier</comment> </data> - <data name="MissingRuntimeInRuntimesSection" xml:space="preserve"> - <value>Your project.json doesn't list '{0}' as a targeted runtime. You should add '{1}' inside your "runtimes" section in your project.json, and then re-run NuGet restore.</value> + <data name="MissingRuntimeInProjectJson" xml:space="preserve"> + <value>Your project.json doesn't list '{0}' as a targeted runtime. You should add '{1}' inside your "runtimes" section in your project.json and then re-run NuGet restore.</value> + <comment>0 - Runtime Identifier</comment> </data> - <data name="MissingRuntimesSection" xml:space="preserve"> + <data name="MissingRuntimesSectionInProjectJson" xml:space="preserve"> <value>Your project.json doesn't have a runtimes section. You should add '{0}' to your project.json and then re-run NuGet restore.</value> + <comment>0 - Runtime Identifier</comment> </data> - <data name="MissingSpecificRuntimeIdentifier" xml:space="preserve"> - <value>Your project csproj file doesn't list '{0}' as a targeted runtime. You should add '{1}' to the "RuntimeIdentifiers" property in your project csproj file and then re-run NuGet restore.</value> - <comment>0/1 - RID</comment> + <data name="NoTargetsInLockFileForCsproj" xml:space="preserve"> + <value>No targets could be found in the lock file. Make sure you have "RuntimeIdentifiers" property in your project csproj file.</value> </data> - <data name="NoTargetsInLockFile" xml:space="preserve"> - <value>No targets could be found in the lock file. Make sure you have a supports or runtimes section i your project.json file.</value> + <data name="NoTargetsInLockFileForProjectJson" xml:space="preserve"> + <value>No targets could be found in the lock file. Make sure you have a supports or runtimes section in your project.json file.</value> </data> <data name="PackageFolderNotFound" xml:space="preserve"> <value>The package {0} with version {1} could not be found in {2}. Run a NuGet package restore to download the package.</value> + <comment>0 - package id +1 - package version +2 - package folder path</comment> </data> <data name="PreprocessedDirectoryNotSet" xml:space="preserve"> <value>The {0} property must be set in order to consume preprocessed content.</value> + <comment>0 - directory path</comment> </data> <data name="UnspecifiedToken" xml:space="preserve"> <value>The token '{0}' is unrecognized.</value> + <comment>0 - token</comment> </data> </root>
\ No newline at end of file |