4

次の 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);
        }
    }
}

見つからないのはなぜですか?

4

1 に答える 1

6

あなたの問題はCaliburn.Micro.Autofacパッケージが原因です。NugetAutofac (>= 2.6.1.841)は、現在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'.

解決方法: 再現プロジェクトを作成Caliburn.Micro.Autofacし、コードをコピーしたパッケージをインストールしたところ、エラー メッセージが表示されました。次に、app.xaml のブートストラップ init を削除var bootstrapper = new Bootstrapper();し、コード ビハインドのアプリのコンストラクターに行を追加しました。次に、VS ですべての例外チェックボックスでブレークをオンにしましTargetInvocationExceptionnew Bootstrapper()。内部例外が発生しました: Autofac dll バージョンを読み込めませんでした ....

于 2012-07-30T07:18:56.603 に答える