System.Windows.Input.ICommand接口在 .NET 4.5 中已从 PresentationCore.dll 中的类型转发到 System.dll 。我有两个问题:
如何导入此接口,以便可以将其用作要注入到类中的属性的返回类型(不需要属性注入的帮助,只需键入解析/导入)?
我如何确定生成的程序集可以在没有安装 .NET 4.5 并且没有将ICommand类型转发到 System.dll 的 .NET 4 客户端上运行?
该代码旨在用于自定义Fody编织器。
System.Windows.Input.ICommand接口在 .NET 4.5 中已从 PresentationCore.dll 中的类型转发到 System.dll 。我有两个问题:
如何导入此接口,以便可以将其用作要注入到类中的属性的返回类型(不需要属性注入的帮助,只需键入解析/导入)?
我如何确定生成的程序集可以在没有安装 .NET 4.5 并且没有将ICommand类型转发到 System.dll 的 .NET 4 客户端上运行?
该代码旨在用于自定义Fody编织器。
你必须明确地处理它。
例如查找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");
}