/// <summary> /// This method is used to flag errors in the project file being processed. Do NOT use this method in place of /// ErrorUtilities.VerifyThrow(), because ErrorUtilities.VerifyThrow() is used to flag internal/programming errors. /// /// PERF WARNING: calling a method that takes a variable number of arguments is expensive, because memory is allocated for /// the array of arguments -- do not call this method repeatedly in performance-critical scenarios /// </summary> /// <param name="condition">The condition to check.</param> /// <param name="errorSubCategoryResourceName">The resource string for the error sub-category (can be null).</param> /// <param name="projectFile">The invalid project file.</param> /// <param name="innerException">The inner <see cref="Exception"/>.</param> /// <param name="resourceName">The resource string for the error message.</param> /// <param name="args">Extra arguments for formatting the error message.</param> internal static void VerifyThrowInvalidProjectFile ( bool condition, string errorSubCategoryResourceName, BuildEventFileInfo projectFile, Exception innerException, string resourceName, params object[] args ) { ErrorUtilities.VerifyThrow(projectFile != null, "Must specify the invalid project file. If project file is not available, use VerifyThrowInvalidProject() and pass in the XML node instead."); #if DEBUG if (errorSubCategoryResourceName != null) { ResourceUtilities.VerifyResourceStringExists(errorSubCategoryResourceName); } ResourceUtilities.VerifyResourceStringExists(resourceName); #endif if (!condition) { string errorSubCategory = errorSubCategoryResourceName is null ? null : AssemblyResources.GetString(errorSubCategoryResourceName); string message = ResourceUtilities.FormatResourceStringStripCodeAndKeyword(out string errorCode, out string helpKeyword, resourceName, args); throw new InvalidProjectFileException(projectFile.File, projectFile.Line, projectFile.Column, projectFile.EndLine, projectFile.EndColumn, message, errorSubCategory, errorCode, helpKeyword, innerException); } }
internal static string GetResourceString(string resourceName) { return(AssemblyResources.GetString(resourceName)); }
internal static string FormatResourceString(string resourceName, params object[] args) { ErrorUtilities.VerifyThrowArgumentNull((object)resourceName, "resourceName"); return(AssemblyResources.FormatString(AssemblyResources.GetString(resourceName), args)); }