2

System.Windows.Input.ICommandインターフェイスは、.NET 4.5 の時点で、PresentationCore.dll から System.dll に Type Forwarded されました。2 つの問題があります。

  1. クラスに注入するプロパティの戻り値の型として使用できるように、このインターフェイスをインポートするにはどうすればよいですか (プロパティ インジェクションのヘルプは必要ありません。タイプの解決/インポートだけです)。

  2. 結果のアセンブリが、.NET 4.5 がインストールされておらず、ICommand型が System.dll に転送されていない .NET 4 クライアントで動作することを確認するにはどうすればよいですか?

このコードは、カスタムFodyウィーバーで使用することを目的としています。

4

1 に答える 1

1

明示的に処理する必要があります。

たとえばAction、diff アセンブリに存在できるものを見つけます。

var msCoreLibDefinition = assemblyResolver.Resolve("mscorlib");
var msCoreTypes = msCoreLibDefinition.MainModule.Types;
var systemDefinition = assemblyResolver.Resolve("System");
var systemTypes = systemDefinition.MainModule.Types;
var actionDefinition = msCoreTypes.FirstOrDefault(x => x.Name == "Action");
if (actionDefinition == null)
{
    actionDefinition = systemTypes.First(x => x.Name == "Action");
}
于 2013-05-14T06:37:06.653 に答える