Не удается найти Prism.PrismApplication

#prism

#призма

Вопрос:

Я только что запустил свое первое приложение WPF, используя MVVMLight, PRISM и DryIoc. App.xaml ссылается на prism:PrismApplication, как описано вhttps://prismlibrary.com/docs/wpf/getting-started.html без ошибок.

 <prism:PrismApplication x:Class="DYC.MembershipAndDues.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:DYC.MembershipAndDues"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:prism="http://prismlibrary.com/"
    xmlns:vm="clr-namespace:DYC.MembershipAndDues.ViewModel"
    xmlns:d1p1="http://schemas.openxmlformats.org/markup-compatibility/2006"
    d1p1:Ignorable="d"
    DispatcherUnhandledException="Application_DispatcherUnhandledException">
  <Application.Resources>
    <ResourceDictionary>
      <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
    </ResourceDictionary>
  </Application.Resources>
</prism:PrismApplication>
  

В App.xaml.cs не удается найти Prism.PrismApplication. Я нашел PrismApplicationBase в обозревателе объектов, который работает для App.xaml.cs, но в App.xaml не удается найти prism:PrismApplicationBase. Похоже, что существует разрыв между объявлением xaml в xmlns:prism=»http://prismlibrary.com /» и пакеты, которые я загрузил.

 <?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="CommonServiceLocator" version="2.0.5" targetFramework="net472" />
  <package id="DryIoc.dll" version="4.0.7" targetFramework="net472" />
  <package id="MvvmLight" version="5.4.1.1" targetFramework="net472" />
  <package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net472" />
  <package id="Prism.Core" version="7.2.0.1422" targetFramework="net472" />
  <package id="Prism.DryIoc" version="7.2.0.1422" targetFramework="net472" />
  <package id="Prism.Wpf" version="7.2.0.1422" targetFramework="net472" />
  <package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
</packages>
  

Чего мне не хватает?

Ответ №1:

Нашел это! Он включен в контейнер инжектора зависимостей, то есть Prism.DryIoc или Prism.Единство зависит от того, какой контейнер вы используете.