Firstly thank you for a great project.
I've been using your Boxed.AspNetCore.TagHelpers.SubresourceIntegrityTagHelper for a while, but I ran into an issue when I recently updated to .net core 3.1 using your v4.0.0 of the library.
It actually threw an unhandled exception. It seems the wrong path is used
Version 3.2.0 is OK, version 4.0.0 causes issues for me
...Deployments\Foo\Staging\Foo.Web\js\vendor\jquery.min.js'. doesn't seem to have the wwroot like as follows: Deployments\Foo\Staging\Foo.Web\wwroot\js\vendor\jquery.min.js'.
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
An unhandled exception has occurred while executing the request.
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Programming\Deployments\Foo\Staging\Foo.Web\js\vendor\jquery.min.js'.
at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
at System.IO.File.ReadAllBytes(String path)
at Boxed.AspNetCore.TagHelpers.SubresourceIntegrityTagHelper.ReadAllBytes(String filePath)
at Boxed.AspNetCore.TagHelpers.SubresourceIntegrityTagHelper.GetSubresourceIntegrityFromContentFile(String contentPath, SubresourceIntegrityHashAlgorithm hashAlgorithms)
at Boxed.AspNetCore.TagHelpers.SubresourceIntegrityTagHelper.ProcessAsync(TagHelperContext context, TagHelperOutput output)
at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner.<RunAsync>g__Awaited|0_0(Task task, TagHelperExecutionContext executionContext, Int32 i, Int32 count)
at AspNetCore.Views_Shared__Layout.<>c__DisplayClass78_0.<<ExecuteAsync>b__31>d.MoveNext() in C:\Programming\GitLab-Runner\builds\aacd9b09\0\thedomainpublisher\Foo\src\foo.Web\Views\Shared\_Layout.cshtml:line 410
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext.SetOutputContentAsync()
at AspNetCore.Views_Shared__Layout.<>c__DisplayClass78_0.<<ExecuteAsync>b__1>d.MoveNext() in C:\Programming\GitLab-Runner\builds\aacd9b09\0\thedomainpublisher\foo\src\foo.Web\Views\Shared\_Layout.cshtml:line 396
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext.SetOutputContentAsync()
A clear and concise description of what the bug is.