![](/img/trans.png)
[英]GalaSoft.MvvmLight Package reference error with .net Standard 2.0 project
[英].NET Framework 4.7 to .NET 5 Migration with Galasoft MVVMLight Library
我們正在將 WPF 應用程序遷移到 .NET 5。
今天我們遇到了一些名為 MVVMLight 的 Galasoft 庫的問題。 我們看到 .NET Standard 沒有更新。 我們不能使用 ae EventToCommand
類。
您知道我們可以管理哪些選項嗎?
常規的MVVMLight和MVVMLightLibs NuGet 包與 .NET 5 不兼容,它們僅與 .NET Framwork 和一些其他平台兼容。 但是,有一些適用於 .NET Standard 1.0 的專用軟件包也適用於 .NET 5。
您可以在此處的官方 MVVMLight 網頁上閱讀有關這些版本的更多信息。 請注意,此版本不支持IServiceProvider
接口。
SimpleIoc 組件使用的一個特定接口 IServiceProvider 在 .NET Standard 1.0 中不可用。 [...] ServiceLocator 類不再可用。
這會影響 SimpleIoC,您必須通過靜態SimpleIoc.Default
成員來代替。
// OLD var nav = ServiceLocator.Current.GetInstance<INavigationService>();
// NEW
var nav = SimpleIoc.Default.GetInstance<INavigationService>();
如果您正在搜索EventToCommand的替換,另一種方法是使用WPF的EventToCommand
。 這是 Microsoft 的一個庫,用於替換舊的 Blend 行為。
您可以安裝 NuGet 包Microsoft.Xaml.Behaviors.Wpf ,它與 .NET Framework、.NET Core 和 .NET 5 兼容。與EventToCommand
等效的是InvokeCommandAction
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.