Caliburn Micro 1.4 でコンパイルして正常に動作する既存のコードがあります。
private static readonly Lazy<IShell> shellLazy = new Lazy<IShell>(IoC.Get<IShell>, true);
1.4 バージョンを削除し、NuGet を介して 1.5 バージョンをインストールしました。何も変更せずに、この行でエラーがスローされるようになりました。
エラー 1 'System.Lazy.Lazy(System.Func, System.Threading.LazyThreadSafetyMode)' に最適なオーバーロードされたメソッド マッチには無効な引数がいくつかあります C:\Users\User\Documents\Visual Studio 2012\Projects\Arnova\Src\CShellCore \Shell.cs 35 58 CShellCore
このエラーを取り除く唯一の方法は、Lazy<> の使用をまったく避けることです。
private static readonly IShell shellLazy = IoC.Get<IShell>();
IoC.Get<> と Lazy<> に関連するもの、およびバージョン 1.4 から 1.5 に変更された可能性があるものを検索しましたが、これらのバージョン間での Caliburn Micro の変更点とこれを回避する方法を説明するものは見つかりません。