Ste*_*pUp 5 c# wpf xaml prism mvvm
我试图将我的应用程序从Prism v4.0更新到Prism v6.1.0并运行包管理器:PM> Install-Package Prism.Core
和PM安装了这样的包:
我试图创建bootstrapper的下一步:
public class Bootstrapper : UnityBootstrapper
{
protected override DependencyObject CreateShell()
{
return Container.Resolve<Shell>();
}
protected override void InitializeShell()
{
base.InitializeShell();
App.Current.MainWindow = (Window)Shell;
App.Current.MainWindow.Show();
}
protected override void ConfigureContainer()
{
base.ConfigureContainer();
Container.RegisterType<IShellViewModel, ShellViewModel>();
}
protected override RegionAdapterMappings ConfigureRegionAdapterMappings()
{
RegionAdapterMappings mappings = base.ConfigureRegionAdapterMappings();
mappings.RegisterMapping(typeof(StackPanel), Container.Resolve<StackPanelRegionAdapter>());
return mappings;
}
protected override IModuleCatalog CreateModuleCatalog()
{
ModuleCatalog catalog = new ModuleCatalog();
catalog.AddModule(typeof(ModuleBModule));
return catalog;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图解决这个问题UnityBootstrapper
.然而,在Prism 6.1.0中没有这样的课程.所以我试图通过Nuget安装:
Prism.UnityExtesions
Run Code Online (Sandbox Code Playgroud)
然而NuGet说:This package is no longer supported. Please use the new Prism.Unity package
.
Prism 5.0有一个bootstrapper类.但是现在不支持Prism 5.0.例如,在此示例中,来自code.msdn的HelloWorld.
所以我想到的问题是:如何在Prism 6.1.0上创建bootstrapper?
Bar*_*art 18
正如@toumir的评论中所提到的,首先卸载所有Microsoft.Practices.*
软件包(检查你的packages.config以确保它们都已卸载).
由于您正在尝试使用Unity with Prism 6,因此您必须安装的唯一软件包是Prism.Unity.这将自动引入所需的所有其他包:
这是一个很好的做法,只添加最具体的包,就像新的项目文件(.NET Core,ASP.NET 5,Win10 UWP)一样,旧的packages.config文件被project.json文件替换,NuGet v3将采用关心更好的依赖性解决方案.截至今天它尚未用于WPF,但这不应该阻止你做"正确".
有关Prism 6的新文档和样本,请访问Prism GitHub存储库.
归档时间: |
|
查看次数: |
7604 次 |
最近记录: |