簡體   English   中英

Fody PropertyChanged Weaver 導致內存問題

[英]Fody PropertyChanged Weaver Causes Memory Issues

我將 PropertyChanged.Fody 安裝到 WPF 應用程序中。 現在使用本機內存的第 3 方代碼存在內存分配問題。 卸載 PropertyChanged.Fody 解決了所有這些問題。 我認為該包導致將屬性更改注入到這些程序集中的類中,因此我添加了一個 [assembly: PropertyChanged.FilterType("My.Specific.OptIn.Namespace.")] 我安裝 fody 的項目以使注入選擇加入. 請注意,我完全按照我剛剛編寫的方式保留了過濾器屬性,因此沒有任何匹配項,只是為了測試。 不過還是有問題。

經過幾天的調試,我終於找到了問題所在。 我的項目設置為 ANYCPU 和 Prefer 32,默認情況下允許它訪問更多 RAM。 Fody 不尊重這一點並導致只能訪問 2GB RAM 的普通 32 位程序集。

之前(ANYCPU + Prefer 32): 在此處輸入圖片說明

之后(與福迪): 在此處輸入圖片說明

我的解決方案是使用大地址感知 NuGet 包包中的目標僅在您將平台目標更改為 x86 時運行,在我的情況下,我從 ANYCPU + Prefer32 更改為簡單的 x86)。 我將 .csproj 配置為如下所示:

 <PropertyGroup>
   <LargeAddressAware>true</LargeAddressAware>
   <LargeAddressAwareAfterTargets>FodyTarget</LargeAddressAwareAfterTargets>
 </PropertyGroup>

我已經提醒了 PropertyChanged.Fody 的貢獻者這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM