mirror of
https://github.com/Pixeval/Pixeval.git
synced 2025-01-09 04:09:57 +08:00
修复图片流递归读取的bug (#461)
This commit is contained in:
parent
b994b29687
commit
b6d69dbb94
@ -59,17 +59,15 @@ public static partial class AppInfo
|
||||
|
||||
public static bool CustomizeTitleBarSupported => AppWindowTitleBar.IsCustomizationSupported();
|
||||
|
||||
private static readonly WeakReference<SoftwareBitmapSource?> _imageNotAvailable = new(null);
|
||||
public static AsyncLazy<SoftwareBitmapSource> ImageNotAvailable { get; } = new(async () => await GetImageNotAvailableStream().GetSoftwareBitmapSourceAsync(true));
|
||||
|
||||
private static readonly WeakReference<Stream?> _imageNotAvailableStream = new(null);
|
||||
public static Stream GetImageNotAvailableStream() => GetAssetStream("Images/image-not-available.png");
|
||||
|
||||
private static readonly WeakReference<SoftwareBitmapSource?> _pixivNoProfile = new(null);
|
||||
public static AsyncLazy<SoftwareBitmapSource> PixivNoProfile { get; } = new(async () => await GetPixivNoProfileStream().GetSoftwareBitmapSourceAsync(true));
|
||||
|
||||
private static readonly WeakReference<Stream?> _pixivNoProfileStream = new(null);
|
||||
public static Stream GetPixivNoProfileStream() => GetAssetStream("Images/pixiv_no_profile.png");
|
||||
|
||||
private static readonly WeakReference<SoftwareBitmapSource?> _icon = new(null);
|
||||
|
||||
private static readonly WeakReference<Stream?> _iconStream = new(null);
|
||||
public static AsyncLazy<SoftwareBitmapSource> Icon { get; } = new(async () => await GetAssetStream("Images/logo.ico").GetSoftwareBitmapSourceAsync(true));
|
||||
|
||||
static AppInfo()
|
||||
{
|
||||
@ -105,48 +103,6 @@ public static partial class AppInfo
|
||||
return Path.Combine(Package.Current.InstalledPath, uri.Host, path);
|
||||
}
|
||||
|
||||
public static async Task<SoftwareBitmapSource> GetNotAvailableImageAsync()
|
||||
{
|
||||
if (!_imageNotAvailable.TryGetTarget(out var target))
|
||||
_imageNotAvailable.SetTarget(target = await GetNotAvailableImageStream().GetSoftwareBitmapSourceAsync(false));
|
||||
return target;
|
||||
}
|
||||
|
||||
public static Stream GetNotAvailableImageStream()
|
||||
{
|
||||
if (!_imageNotAvailableStream.TryGetTarget(out var target))
|
||||
_imageNotAvailableStream.SetTarget(target = GetAssetStream("Images/image-not-available.png"));
|
||||
return target;
|
||||
}
|
||||
|
||||
public static async Task<SoftwareBitmapSource> GetPixivNoProfileImageAsync()
|
||||
{
|
||||
if (!_pixivNoProfile.TryGetTarget(out var target))
|
||||
_pixivNoProfile.SetTarget(target = await GetPixivNoProfileImageStream().GetSoftwareBitmapSourceAsync(false));
|
||||
return target;
|
||||
}
|
||||
|
||||
public static Stream GetPixivNoProfileImageStream()
|
||||
{
|
||||
if (!_pixivNoProfileStream.TryGetTarget(out var target))
|
||||
_pixivNoProfileStream.SetTarget(target = GetAssetStream("Images/pixiv_no_profile.png"));
|
||||
return target;
|
||||
}
|
||||
|
||||
public static async Task<SoftwareBitmapSource> GetIconImageAsync()
|
||||
{
|
||||
if (!_icon.TryGetTarget(out var target))
|
||||
_icon.SetTarget(target = await GetIconImageStream().GetSoftwareBitmapSourceAsync(false));
|
||||
return target;
|
||||
}
|
||||
|
||||
public static Stream GetIconImageStream()
|
||||
{
|
||||
if (!_iconStream.TryGetTarget(out var target))
|
||||
_iconStream.SetTarget(target = GetAssetStream("Images/logo.ico"));
|
||||
return target;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the byte array of a file in the Assets folder
|
||||
/// </summary>
|
||||
|
@ -51,7 +51,7 @@ public sealed partial class CommentBlock
|
||||
var result = await App.AppViewModel.MakoClient.DownloadSoftwareBitmapSourceAsync(viewModel.StampSource);
|
||||
block.StickerImageContent.Source = result is Result<SoftwareBitmapSource>.Success { Value: var avatar }
|
||||
? avatar
|
||||
: await AppInfo.GetNotAvailableImageAsync();
|
||||
: await AppInfo.ImageNotAvailable.ValueAsync;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -96,7 +96,7 @@ public partial class CommentBlockViewModel(Comment comment, SimpleWorkType type,
|
||||
var result = await App.AppViewModel.MakoClient.DownloadSoftwareBitmapSourceAsync(Comment.CommentPoster.ProfileImageUrls.Medium);
|
||||
AvatarSource = result is Result<SoftwareBitmapSource>.Success { Value: var avatar }
|
||||
? avatar
|
||||
: await AppInfo.GetPixivNoProfileImageAsync();
|
||||
: await AppInfo.PixivNoProfile.ValueAsync;
|
||||
}
|
||||
|
||||
public void AddComment(Comment comment)
|
||||
|
@ -215,7 +215,7 @@ public class DocumentViewerViewModel(NovelContent novelContent) : ObservableObje
|
||||
}
|
||||
}
|
||||
|
||||
public Stream TryGetNotAvailableImageStream(Stream? result) => result ?? AppInfo.GetNotAvailableImageStream();
|
||||
public Stream TryGetNotAvailableImageStream(Stream? result) => result ?? AppInfo.GetImageNotAvailableStream();
|
||||
|
||||
private async Task<Stream> LoadThumbnailAsync(string url)
|
||||
{
|
||||
@ -242,7 +242,7 @@ public class DocumentViewerViewModel(NovelContent novelContent) : ObservableObje
|
||||
return await App.AppViewModel.MakoClient.DownloadStreamAsync(url, cancellationHandle: LoadingCancellationHandle) is
|
||||
Result<Stream>.Success(var stream)
|
||||
? stream
|
||||
: AppInfo.GetNotAvailableImageStream();
|
||||
: AppInfo.GetImageNotAvailableStream();
|
||||
}
|
||||
|
||||
public static async Task<DocumentViewerViewModel> CreateAsync(NovelItemViewModel novelItem, Action<Task> callback)
|
||||
|
@ -33,7 +33,7 @@ public partial class IllustratorItemViewModel
|
||||
var result = await App.AppViewModel.MakoClient.DownloadStreamAsync(AvatarUrl);
|
||||
var stream = result is Result<Stream>.Success { Value: var avatar }
|
||||
? avatar
|
||||
: AppInfo.GetPixivNoProfileImageStream();
|
||||
: AppInfo.GetPixivNoProfileStream();
|
||||
var dominantColor = await UiHelper.GetDominantColorAsync(stream, false);
|
||||
AvatarBorderBrush = new SolidColorBrush(dominantColor);
|
||||
stream.Position = 0;
|
||||
|
@ -131,7 +131,7 @@ public abstract class ThumbnailEntryViewModel<T>(T entry) : EntryViewModel<T>(en
|
||||
break;
|
||||
}
|
||||
|
||||
return AppInfo.GetNotAvailableImageStream();
|
||||
return AppInfo.GetImageNotAvailableStream();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -156,10 +156,11 @@ public sealed partial class WorkView : IEntryView<ISortableEntryViewViewModel>
|
||||
{
|
||||
if (ViewModel == null!)
|
||||
return;
|
||||
foreach (var viewModel in ViewModel.Source)
|
||||
viewModel.UnloadThumbnail(ViewModel);
|
||||
ViewModel.Dispose();
|
||||
var viewModel = ViewModel;
|
||||
ViewModel = null!;
|
||||
foreach (var vm in viewModel.Source)
|
||||
vm.UnloadThumbnail(viewModel);
|
||||
viewModel.Dispose();
|
||||
}
|
||||
|
||||
private void AddToBookmarkTeachingTip_OnCloseButtonClick(TeachingTip sender, object e)
|
||||
|
@ -101,13 +101,13 @@ public partial class IllustratorViewerPageViewModel : UiObservableObject
|
||||
var result = await App.AppViewModel.MakoClient.DownloadBitmapImageAsync(AvatarUrl, 100);
|
||||
AvatarSource = result is Result<ImageSource>.Success { Value: var avatar }
|
||||
? avatar
|
||||
: await AppInfo.GetPixivNoProfileImageAsync();
|
||||
: await AppInfo.PixivNoProfile.ValueAsync;
|
||||
if (BackgroundUrl is not null)
|
||||
{
|
||||
var result2 = await App.AppViewModel.MakoClient.DownloadBitmapImageAsync(BackgroundUrl);
|
||||
BackgroundSource = result2 is Result<ImageSource>.Success { Value: var background }
|
||||
? background
|
||||
: await AppInfo.GetNotAvailableImageAsync();
|
||||
: await AppInfo.ImageNotAvailable.ValueAsync;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ public partial class MainPageViewModel : ObservableObject
|
||||
var result = await makoClient.DownloadSoftwareBitmapSourceAsync(makoClient.Session.AvatarUrl!);
|
||||
AvatarSource = result is Result<SoftwareBitmapSource>.Success { Value: var avatar }
|
||||
? avatar
|
||||
: await AppInfo.GetNotAvailableImageAsync();
|
||||
: await AppInfo.ImageNotAvailable.ValueAsync;
|
||||
}
|
||||
|
||||
public async Task ReverseSearchAsync(Stream stream)
|
||||
|
@ -49,7 +49,7 @@ public partial class WorkInfoPageViewModel<T>(T entry) : ObservableObject, IDisp
|
||||
var result = await App.AppViewModel.MakoClient.DownloadSoftwareBitmapSourceAsync(profileImage);
|
||||
AvatarSource = result is Result<SoftwareBitmapSource>.Success { Value: var avatar }
|
||||
? avatar
|
||||
: await AppInfo.GetPixivNoProfileImageAsync();
|
||||
: await AppInfo.PixivNoProfile.ValueAsync;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,9 +56,8 @@
|
||||
<PackageReference Include="PininSharp" Version="1.2.0" />
|
||||
<PackageReference Include="Pixeval.Bypass" Version="1.1.7" />
|
||||
<PackageReference Include="Pixeval.QRCoder" Version="1.4.5" />
|
||||
<PackageReference Include="QuestPDF" Version="2024.3.3" />
|
||||
<PackageReference Include="ReverseMarkdown" Version="4.3.0" />
|
||||
<PackageReference Include="Select.HtmlToPdf.NetCore" Version="23.2.0" />
|
||||
<PackageReference Include="QuestPDF" Version="2024.3.5" />
|
||||
<PackageReference Include="ReverseMarkdown" Version="4.4.0" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.4" />
|
||||
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.3" />
|
||||
<PackageReference Include="System.Linq.Async" Version="6.0.1" />
|
||||
@ -76,7 +75,10 @@
|
||||
<RemoveDir Directories="Generated" />
|
||||
<ItemGroup>
|
||||
<TextFiles Include="%(TextFile.OutputTarget)">
|
||||
<Content>{
@(TextFile->Metadata('Content'), ',
')
}</Content>
|
||||
<Content>{
|
||||
@(TextFile->Metadata('Content'), ',
|
||||
')
|
||||
}</Content>
|
||||
</TextFiles>
|
||||
</ItemGroup>
|
||||
<WriteLinesToFile Condition="%(TextFiles.Identity) != ''" File="%(TextFiles.Identity)" Overwrite="true" Lines="@(TextFiles->'%(Content)')" />
|
||||
@ -88,9 +90,10 @@
|
||||
<ItemGroup>
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="SourceItemGroup" />
|
||||
|
||||
<TextFile Include="Strings\*\*.txt" >
|
||||
<TextFile Include="Strings\*\*.txt">
|
||||
<OutputTarget>Generated\%(RecursiveDir)\TextGenerated.resjson</OutputTarget>
|
||||
<Content> "$([System.String]::Concat(%(Filename), '"').Replace('_', '/')) : "$([System.IO.File]::ReadAllText(%(FullPath)).Replace('\', '\\').Replace('
', '\n').Replace('"', '\"'))"</Content>
|
||||
<Content> "$([System.String]::Concat(%(Filename), '"').Replace('_', '/')) : "$([System.IO.File]::ReadAllText(%(FullPath)).Replace('\', '\\').Replace('
|
||||
', '\n').Replace('"', '\"'))"</Content>
|
||||
</TextFile>
|
||||
</ItemGroup>
|
||||
|
||||
@ -130,4 +133,80 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\OFL.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-ThinItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Thin.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-SemiBoldItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-SemiBold.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Regular.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-MediumItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Medium.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-LightItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Light.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Italic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-ExtraLightItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-ExtraLight.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-ExtraBoldItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-ExtraBold.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-BoldItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Bold.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-BlackItalic.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="C:\Users\poker\.nuget\packages\questpdf\2024.3.5\buildTransitive\..\LatoFont\Lato-Black.ttf" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -69,7 +69,7 @@ public static partial class IoHelper
|
||||
}
|
||||
catch
|
||||
{
|
||||
return await AppInfo.GetNotAvailableImageAsync();
|
||||
return await AppInfo.ImageNotAvailable.ValueAsync;
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -104,7 +104,7 @@ public static partial class IoHelper
|
||||
}
|
||||
catch
|
||||
{
|
||||
stream = AppInfo.GetNotAvailableImageStream();
|
||||
stream = AppInfo.GetImageNotAvailableStream();
|
||||
}
|
||||
return stream;
|
||||
}
|
||||
|
@ -256,33 +256,17 @@
|
||||
},
|
||||
"QuestPDF": {
|
||||
"type": "Direct",
|
||||
"requested": "[2024.3.3, )",
|
||||
"resolved": "2024.3.3",
|
||||
"contentHash": "S2T+iE8RGw3OCBZ6bZmPhw6oIbXa92MuewcvwzJgeNKGIoc6t1lHnCWwH+UTGVFV9eGUCEjkxQCC6xooDYOUGw=="
|
||||
"requested": "[2024.3.5, )",
|
||||
"resolved": "2024.3.5",
|
||||
"contentHash": "KLBgMYx0+/88B1F2V8Qr9J6N51fMxn9jQ1LCF7P4wE6d5R/7qnsz5ahFychICdsiYzQ96ZWJJOTMQjy2hzFOAw=="
|
||||
},
|
||||
"ReverseMarkdown": {
|
||||
"type": "Direct",
|
||||
"requested": "[4.3.0, )",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "KykyBe7Q26pkYbmMP7zwRgAy74xglCCU4lPilii0Vj++LMdvTcm2EZ6EvzaNKvaBNhWQtcI69V/4tW52sceEOw==",
|
||||
"requested": "[4.4.0, )",
|
||||
"resolved": "4.4.0",
|
||||
"contentHash": "16jv/gdvhmIpPxQpsdVCSAkAioXZkWX6ttxpb3ddaD+LJ4Dc+KlAhk1t21y+NZ6VMihJCw3Tum36b41N1J6cvA==",
|
||||
"dependencies": {
|
||||
"HtmlAgilityPack": "1.11.57"
|
||||
}
|
||||
},
|
||||
"Select.HtmlToPdf.NetCore": {
|
||||
"type": "Direct",
|
||||
"requested": "[23.2.0, )",
|
||||
"resolved": "23.2.0",
|
||||
"contentHash": "1npSC6l2TVqRSvBocT865LBcgqcrhA+lAQPzFNUyq3xHu5hh7c/ERPcEbZA5QKE2TFUj10wrIBmxgTUihVz5+w==",
|
||||
"dependencies": {
|
||||
"Microsoft.Bcl.AsyncInterfaces": "1.1.0",
|
||||
"Newtonsoft.Json": "13.0.1",
|
||||
"System.Buffers": "4.5.1",
|
||||
"System.Drawing.Common": "4.5.1",
|
||||
"System.Numerics.Vectors": "4.5.0",
|
||||
"System.Security.Principal.Windows": "4.5.1",
|
||||
"System.Text.Encoding.CodePages": "4.5.1",
|
||||
"System.Threading.Tasks.Extensions": "4.5.2"
|
||||
"HtmlAgilityPack": "1.11.61"
|
||||
}
|
||||
},
|
||||
"SixLabors.ImageSharp": {
|
||||
@ -362,8 +346,8 @@
|
||||
},
|
||||
"HtmlAgilityPack": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.11.57",
|
||||
"contentHash": "zDxnHcAvi+qhZG602eKaPJKmzm0T8npKVML0RMwjrRBabpmTRtu2OVpfNkMUfYMgQ+5EllOkSeGxu0uFVV2zFw=="
|
||||
"resolved": "1.11.61",
|
||||
"contentHash": "hqZASeEFHS9quHvfZSwaULoAJLWkOYVPiQjc3P9J4pQS8vSYzrP3bxe04Vm7vYYuxwbQhq9hCSVvZVLTyRaNaQ=="
|
||||
},
|
||||
"Markdig": {
|
||||
"type": "Transitive",
|
||||
@ -410,11 +394,6 @@
|
||||
"Microsoft.NETCore.Platforms": "3.1.0"
|
||||
}
|
||||
},
|
||||
"Newtonsoft.Json": {
|
||||
"type": "Transitive",
|
||||
"resolved": "13.0.1",
|
||||
"contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A=="
|
||||
},
|
||||
"Refit": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
@ -434,11 +413,6 @@
|
||||
"resolved": "2.0.3",
|
||||
"contentHash": "IY+i5JsUoFTyLvNOlLFUak4nJajSZdfxYqCbDCSYeGDGwHNBtJo0ICduAFGaYaqdL41+YHn7LMrp1AwIU/29Ag=="
|
||||
},
|
||||
"System.Buffers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
"contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg=="
|
||||
},
|
||||
"System.Drawing.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.7.0",
|
||||
@ -456,21 +430,11 @@
|
||||
"System.Text.Json": "7.0.2"
|
||||
}
|
||||
},
|
||||
"System.Numerics.Vectors": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ=="
|
||||
},
|
||||
"System.Reflection.Emit": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ=="
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.2",
|
||||
"contentHash": "wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ=="
|
||||
},
|
||||
"System.Security.AccessControl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.7.0",
|
||||
@ -485,15 +449,6 @@
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ=="
|
||||
},
|
||||
"System.Text.Encoding.CodePages": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
"contentHash": "4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "2.1.2",
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.2"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
@ -507,11 +462,6 @@
|
||||
"System.Text.Encodings.Web": "7.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.2",
|
||||
"contentHash": "BG/TNxDFv0svAzx8OiMXDlsHfGw623BZ8tCXw4YLhDFDvDhNUEV58jKYMGRnkbJNm7c3JNNJDiN7JBMzxRBR2w=="
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
@ -567,9 +517,9 @@
|
||||
},
|
||||
"QuestPDF": {
|
||||
"type": "Direct",
|
||||
"requested": "[2024.3.3, )",
|
||||
"resolved": "2024.3.3",
|
||||
"contentHash": "S2T+iE8RGw3OCBZ6bZmPhw6oIbXa92MuewcvwzJgeNKGIoc6t1lHnCWwH+UTGVFV9eGUCEjkxQCC6xooDYOUGw=="
|
||||
"requested": "[2024.3.5, )",
|
||||
"resolved": "2024.3.5",
|
||||
"contentHash": "KLBgMYx0+/88B1F2V8Qr9J6N51fMxn9jQ1LCF7P4wE6d5R/7qnsz5ahFychICdsiYzQ96ZWJJOTMQjy2hzFOAw=="
|
||||
},
|
||||
"Microsoft.Graphics.Win2D": {
|
||||
"type": "Transitive",
|
||||
@ -619,15 +569,6 @@
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ=="
|
||||
},
|
||||
"System.Text.Encoding.CodePages": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
"contentHash": "4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "2.1.2",
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.2"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
@ -652,9 +593,9 @@
|
||||
},
|
||||
"QuestPDF": {
|
||||
"type": "Direct",
|
||||
"requested": "[2024.3.3, )",
|
||||
"resolved": "2024.3.3",
|
||||
"contentHash": "S2T+iE8RGw3OCBZ6bZmPhw6oIbXa92MuewcvwzJgeNKGIoc6t1lHnCWwH+UTGVFV9eGUCEjkxQCC6xooDYOUGw=="
|
||||
"requested": "[2024.3.5, )",
|
||||
"resolved": "2024.3.5",
|
||||
"contentHash": "KLBgMYx0+/88B1F2V8Qr9J6N51fMxn9jQ1LCF7P4wE6d5R/7qnsz5ahFychICdsiYzQ96ZWJJOTMQjy2hzFOAw=="
|
||||
},
|
||||
"Microsoft.Graphics.Win2D": {
|
||||
"type": "Transitive",
|
||||
@ -704,15 +645,6 @@
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ=="
|
||||
},
|
||||
"System.Text.Encoding.CodePages": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
"contentHash": "4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "2.1.2",
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.2"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
@ -737,9 +669,9 @@
|
||||
},
|
||||
"QuestPDF": {
|
||||
"type": "Direct",
|
||||
"requested": "[2024.3.3, )",
|
||||
"resolved": "2024.3.3",
|
||||
"contentHash": "S2T+iE8RGw3OCBZ6bZmPhw6oIbXa92MuewcvwzJgeNKGIoc6t1lHnCWwH+UTGVFV9eGUCEjkxQCC6xooDYOUGw=="
|
||||
"requested": "[2024.3.5, )",
|
||||
"resolved": "2024.3.5",
|
||||
"contentHash": "KLBgMYx0+/88B1F2V8Qr9J6N51fMxn9jQ1LCF7P4wE6d5R/7qnsz5ahFychICdsiYzQ96ZWJJOTMQjy2hzFOAw=="
|
||||
},
|
||||
"Microsoft.Graphics.Win2D": {
|
||||
"type": "Transitive",
|
||||
@ -789,15 +721,6 @@
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ=="
|
||||
},
|
||||
"System.Text.Encoding.CodePages": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
"contentHash": "4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "2.1.2",
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.2"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
|
Loading…
Reference in New Issue
Block a user