簡體   English   中英

XML名稱空間“ clr-namespace:XXX”中不存在標簽“ Bootstrapper”

[英]The tag 'Bootstrapper' does not exist in XML namespace 'clr-namespace:XXX'

我得到以下app.xml:

<Application 
    x:Class="WeDoneIt.WP2.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WeDoneIt.WP2"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">

    <Application.Resources>
        <local:Bootstrapper x:Key="bootstrapper" />
    </Application.Resources>
</Application>

和引導程序:

namespace WeDoneIt.WP2
{
    public class Bootstrapper : Caliburn.Micro.Autofac.AutofacBootstrapper
    {
        public Bootstrapper()
        {
            Instance = this;
        }

        protected static Bootstrapper Instance { get; private set; }

        protected override void ConfigureContainer(ContainerBuilder builder)
        {
            builder.RegisterType<ShellViewModel>();
            builder.RegisterType<ItemViewModel>();

            base.ConfigureContainer(builder);
        }

        public static T ResolveModel<T>() where T : INotifyPropertyChangedEx
        {
            return (T)Instance.GetInstance(typeof (T), null);
        }
    }
}

為什么找不到它?

您的問題是由Caliburn.Micro.Autofac程序包引起的。 它聲明它需要Autofac (>= 2.6.1.841)因此Nuget將下載滿足此要求的最新版本,當前為Autofac (2.6.3.862) 但是Caliburn.Micro.Autofac程序集是根據Autofac版本2.6.1.841因此它找不到所需的Autofac dll,並且由於此神秘異常而無法構建。

解決方法:刪除所有與Autofac和Caliburn相關的軟件包,並通過以下方式安裝它們:

PM> Install-Package Caliburn.Micro
Successfully installed 'Caliburn.Micro 1.3.1'.

PM> Install-Package Autofac -Version 2.6.1.841
Successfully installed 'Autofac 2.6.1.841'.

PM> Install-Package Caliburn.Micro.Autofac -IgnoreDependencies
Successfully installed 'Caliburn.Micro.Autofac 1.4.1'.

我如何解決的:我創建了一個repro項目並安裝了Caliburn.Micro.Autofac包,復制了您的代碼,然后看到錯誤消息。 然后,我刪除了app.xaml的bootstrapper初始化,並添加了一個var bootstrapper = new Bootstrapper(); ;。 App的構造函數中的代碼行。 然后,我打開了VS中所有異常復選框的中斷,並且在new Bootstrapper()行上有一個TargetInvocationException ,但有內部異常:無法加載Autofac dll版本...。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM