編集:ようやく機能するようになったようです。以前参照したその投稿の著者に尋ねたところ、既知の問題であるとのことでした。彼は回避策も提供してくれたので (投稿の下のコメントで)、この質問はクローズ済みと考えます。しかし、私の問題に時間を費やしてくれた皆さんに感謝します:)
Caliburn MicroフレームワークでMVVMを学ぼうとしているのですが、最初から問題があります。私はこのチュートリアルに従っており、App.xaml でそのようなコードを取得しました:
<Application
x:Class="Caliburn.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:caliburnMicro="clr-namespace:Caliburn">
<!--Application Resources-->
<Application.Resources>
<caliburnMicro:Bootstrapper x:Key="bootstrapper" />
</Application.Resources>
</Application>
しかし、エラーが発生しました:
「Bootstrapper」という名前は名前空間「clr-namespace:Caliburn」に存在しません。
NuGet リポジトリから Caliburn Micro 1.5.2 を入手しました。どんなアイデアでも大歓迎です...
私のブートストラップ:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Caliburn.Micro;
namespace Caliburn
{
public class Bootstrapper : PhoneBootstrapper
{
PhoneContainer container;
protected override void Configure()
{
container = new PhoneContainer();
container.RegisterPhoneServices(RootFrame);
//container.PerRequest<MainPageViewModel>();
AddCustomConventions();
}
static void AddCustomConventions()
{
//ellided
}
protected override object GetInstance(Type service, string key)
{
return container.GetInstance(service, key);
}
protected override IEnumerable<object> GetAllInstances(Type service)
{
return container.GetAllInstances(service);
}
protected override void BuildUp(object instance)
{
container.BuildUp(instance);
}
}
}