MSBuild 屬性 TrimmerDefaultAction 已退場

發行流程現在會忽略 TrimmerDefaultAction 屬性的值。

先前的行為

先前,只有在程式庫專案檔中透過 <IsTrimmable>true</IsTrimmable> 加入的組件,會使用 TrimmerDefaultAction 指定的動作修剪。 在 .NET 6 中,該屬性的預設值為 copy。 雖然具有修剪警告的應用程式較可能使用此預設值,但執行階段行為仍會受到影響。 此外,copy 動作導致應用程式大於整個應用程式經過修剪的大小。

新的行為

從 .NET 7 開始,會忽略屬性 TrimmerDefaultAction,而且發佈的行為會像是一直設定為 link 一樣。 這表示不論組件是否加入,都會完全修剪所有組件。 因此,具有修剪警告的應用程式可能會看到行為或執行階段例外狀況的變更。 如需還原先前行為的詳細資訊和指示,請參閱預設會修剪所有組件

導入的版本

.NET 7

中斷性變更的類型

此變更可能會影響來源相容性

變更原因

這項變更可簡化修剪選項。

最佳解決方式是解決您應用程式中的所有修剪警告。 如需解決自有程式庫中警告的相關資訊,請參閱修剪警告簡介。 若是其他程式庫,請連絡作者,請對方解決警告,或選擇已支援修剪的其他程式庫。 例如,您可以改用支援修剪之來源產生System.Text.Json,而不是 Newtonsoft.Json。 利用該程式庫,您就不再需要使用 TrimmerDefaultAction

若要還原為先前的行為,請使用 global.json 將專案釘選到 .NET 6 SDK。

另請參閱