Don't close the stream when reading AssemblyMetadata
This commit is contained in:
parent
3cd6d3e060
commit
8b62057aa3
|
|
@ -20,8 +20,8 @@ namespace Microsoft.AspNet.Mvc.Razor.Compilation
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class RoslynCompilationService : ICompilationService
|
public class RoslynCompilationService : ICompilationService
|
||||||
{
|
{
|
||||||
private readonly ConcurrentDictionary<string, MetadataReference> _metadataFileCache =
|
private readonly ConcurrentDictionary<string, AssemblyMetadata> _metadataFileCache =
|
||||||
new ConcurrentDictionary<string, MetadataReference>(StringComparer.OrdinalIgnoreCase);
|
new ConcurrentDictionary<string, AssemblyMetadata>(StringComparer.OrdinalIgnoreCase);
|
||||||
|
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
private readonly IApplicationEnvironment _environment;
|
private readonly IApplicationEnvironment _environment;
|
||||||
|
|
@ -172,15 +172,12 @@ namespace Microsoft.AspNet.Mvc.Razor.Compilation
|
||||||
|
|
||||||
private MetadataReference CreateMetadataFileReference(string path)
|
private MetadataReference CreateMetadataFileReference(string path)
|
||||||
{
|
{
|
||||||
return _metadataFileCache.GetOrAdd(path, _ =>
|
var metadata = _metadataFileCache.GetOrAdd(path, _ =>
|
||||||
{
|
{
|
||||||
// TODO: What about access to the file system? We need to be able to
|
return AssemblyMetadata.CreateFromImageStream(File.OpenRead(path));
|
||||||
// read files from anywhere on disk, not just under the web root
|
|
||||||
using (var stream = File.OpenRead(path))
|
|
||||||
{
|
|
||||||
return new MetadataImageReference(stream);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return new MetadataImageReference(metadata);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static CompilationMessage GetCompilationMessage(DiagnosticFormatter formatter, Diagnostic diagnostic)
|
private static CompilationMessage GetCompilationMessage(DiagnosticFormatter formatter, Diagnostic diagnostic)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue