diff --git a/src/dotnet/APIView/APIViewWeb/Languages/LanguageProcessor.cs b/src/dotnet/APIView/APIViewWeb/Languages/LanguageProcessor.cs index 0f7d3b8abf5..3f320eaf3ac 100644 --- a/src/dotnet/APIView/APIViewWeb/Languages/LanguageProcessor.cs +++ b/src/dotnet/APIView/APIViewWeb/Languages/LanguageProcessor.cs @@ -25,6 +25,7 @@ public override async Task GetCodeFileAsync(string originalName, Strea var randomSegment = Guid.NewGuid().ToString("N"); var tempDirectory = Path.Combine(tempPath, "ApiView", randomSegment); Directory.CreateDirectory(tempDirectory); + originalName = Path.GetFileName(originalName); var originalFilePath = Path.Combine(tempDirectory, originalName); var jsonFilePath = (LanguageServiceHelpers.UseTreeStyleParser(this.Name)) ? Path.ChangeExtension(originalFilePath, ".json.tgz") : Path.ChangeExtension(originalFilePath, ".json"); @@ -56,7 +57,7 @@ public override async Task GetCodeFileAsync(string originalName, Strea } } - using (var codeFileStream = File.OpenRead(jsonFilePath)) + using (var codeFileStream = new FileStream(jsonFilePath, FileMode.Open, FileAccess.Read, FileShare.None)) { CodeFile codeFile = await CodeFile.DeserializeAsync(stream: codeFileStream, doTreeStyleParserDeserialization: LanguageServiceHelpers.UseTreeStyleParser(this.Name)); codeFile.VersionString = VersionString;