[AOT compatible] Clean up some AOT build issue in FilePreviewCommon and MarkdownPreviewHandler (#36207)

* Use AppContext.BaseDirectory to replace assembly.GetExeAseembly.Location.
Fix json serilizer aot issue.

* clean up some AOT build issue

* Update src/modules/previewpane/MarkdownPreviewHandler/MarkdownPreviewHandlerControl.cs

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>

* Update src/common/FilePreviewCommon/Formatters/JsonFormatter.cs

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>

---------

Co-authored-by: Yu Leng (from Dev Box) <yuleng@microsoft.com>
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
This commit is contained in:
moooyo
2024-12-19 09:31:45 +08:00
committed by GitHub
parent 86c6b4ae95
commit 20a5f67222
6 changed files with 25 additions and 11 deletions

View File

@@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<!-- Look at Directory.Build.props in root for common stuff as well -->
<Import Project="..\..\..\Common.Dotnet.CsWinRT.props" />
<Import Project="..\..\..\Common.SelfContained.props" />
<Import Project="..\..\..\Common.Dotnet.AotCompatibility.props" />
<PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings>

View File

@@ -20,7 +20,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Markdown
/// <summary>
/// Win Form Implementation for Markdown Preview Handler.
/// </summary>
public class MarkdownPreviewHandlerControl : FormHandlerControl
public partial class MarkdownPreviewHandlerControl : FormHandlerControl
{
private static readonly IFileSystem FileSystem = new FileSystem();
private static readonly IPath Path = FileSystem.Path;
@@ -66,7 +66,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Markdown
{
get
{
string codeBase = Assembly.GetExecutingAssembly().Location;
string codeBase = AppContext.BaseDirectory;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
return Path.GetDirectoryName(path);