2

System.Windows.Input.ICommand接口在 .NET 4.5 中已从 PresentationCore.dll 中的类型转发到 System.dll 。我有两个问题:

  1. 如何导入此接口,以便可以将其用作要注入到类中的属性的返回类型(不需要属性注入的帮助,只需键入解析/导入)?

  2. 我如何确定生成的程序集可以在没有安装 .NET 4.5 并且没有将ICommand类型转发到 System.dll 的 .NET 4 客户端上运行?

该代码旨在用于自定义Fody编织器。

4

1 回答 1

1

你必须明确地处理它。

例如查找Action哪些可以存在于差异程序集中。

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 回答