【问题标题】:Prism-Mvvm app deployment error on Mobile Emulator移动模拟器上的 Prism-Mvvm 应用程序部署错误
【发布时间】:2017-03-19 10:03:22
【问题描述】:

在 Mobile Emulator 10586 上部署一个简单的 Prism.Mvvm 应用程序时遇到了一个异常,它在模拟器和我的本地机器上都可以工作。 我指的是 Prism.storeapps 包。这是我的代码

App.xaml.cs

namespace MvvmSample
{
    sealed partial class App : MvvmAppBase
    {
        public App()
        {
            InitializeComponent();
        }
        public enum Expirences
        {
            Main
        }
        protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
        {
            this.NavigationService.Navigate(Expirences.Main.ToString(), null);
            return Task.FromResult<object>(null);
        }

    }
}

MainPage.xaml

<controls:PageBase
    x:Class="MvvmSample.Views.MainPage"
    xmlns:controls="using:MvvmSample.Controls"
    xmlns:prism="using:Microsoft.Practices.Prism.Mvvm"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:MvvmSample"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    prism:ViewModelLocator.AutoWireViewModel="True"
    mc:Ignorable="d">
    <d:Page.DataContext>
        <local:MainPageViewModel/>
    </d:Page.DataContext>
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBlock Text="{Binding Title}" FontSize="29.333" />
    </Grid>
</controls:PageBase>

查看

namespace MvvmSample
{
    namespace Controls
    {
        public abstract partial class PageBase : Page, IView { }
    }
    namespace Views
    {
        public sealed partial class MainPage : Controls.PageBase
        {
            public MainPage()
            {
                this.InitializeComponent();
            }
        }
    }
    namespace ViewModels
    {
        public class MainPageViewModel : Microsoft.Practices.Prism.Mvvm.ViewModel
        {
            public string Title { get; set; }
            public MainPageViewModel()
            {
                this.Title = "Run Time";
            }
        }
    }
}

【问题讨论】:

  • 部署错误说明了什么?

标签: mvvm uwp prism


【解决方案1】:

您正在使用Prism.StoreApps,这是一个适用于 Windows 8.1 的软件包。对于 UWP,您应该使用 Prism.Windows。它在您的机器上运行的原因是因为 Windows 10 可以运行 Windows 8 应用程序。虽然模拟器是特定的 SDK 版本。

有关适用于 Windows 10 的可用 NuGet 包(包括依赖项注入)的更多信息,请查看official GitHub repothis repo 中也有一些示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-21
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多