diff --git a/src/VisualStudio/Core/Def/Implementation/TableDataSource/AbstractTableEntriesSnapshot.cs b/src/VisualStudio/Core/Def/Implementation/TableDataSource/AbstractTableEntriesSnapshot.cs index a4e8cfb728931d650c9a1865b7efd608174a8c3e..bdc63760852d7c50a92722d9e03b6cd7fdf1046f 100644 --- a/src/VisualStudio/Core/Def/Implementation/TableDataSource/AbstractTableEntriesSnapshot.cs +++ b/src/VisualStudio/Core/Def/Implementation/TableDataSource/AbstractTableEntriesSnapshot.cs @@ -182,7 +182,18 @@ protected bool TryNavigateTo(Workspace workspace, DocumentId documentId, int lin protected string GetFileName(string original, string mapped) { - return mapped == null ? original : original == null ? mapped : FilePathUtilities.Combine(original, mapped); + return mapped == null ? original : original == null ? mapped : Combine(original, mapped); + } + + private string Combine(string path1, string path2) + { + string result; + if (FilePathUtilities.TryCombine(path1, path2, out result)) + { + return result; + } + + return string.Empty; } protected string GetProjectName(Workspace workspace, ProjectId projectId) diff --git a/src/Workspaces/Core/Desktop/InternalUtilities/FilePathUtilities.cs b/src/Workspaces/Core/Desktop/InternalUtilities/FilePathUtilities.cs index 4370b5327ba8c35e6057fd26a3c79c2d2666bbd1..a7370efb239679bf5581a4d797b355b84a6acb82 100644 --- a/src/Workspaces/Core/Desktop/InternalUtilities/FilePathUtilities.cs +++ b/src/Workspaces/Core/Desktop/InternalUtilities/FilePathUtilities.cs @@ -104,16 +104,18 @@ public static bool PathsEqual(string path1, string path2) return string.Compare(path1, path2, StringComparison.OrdinalIgnoreCase) == 0; } - public static string Combine(string path1, string path2) + public static bool TryCombine(string path1, string path2, out string result) { try { // don't throw exception when either path1 or path2 contains illegal path char - return Path.Combine(path1, path2); + result = Path.Combine(path1, path2); + return true; } catch { - return string.Empty; + result = null; + return false; } } }