【发布时间】:2011-01-17 20:05:32
【问题描述】:
我正在使用 Mono.Cecil 处理我的 .net 2.0 程序集。 操作后,我想通过注入模块属性将程序集标记为已处理
var stringType = _module.Import(typeof(string));
var baseCtor = _module.Import(typeof(GeneratedCodeAttribute).GetConstructor(new[] { typeof(string), typeof(string) }));
var result = new CustomAttribute(baseCtor);
result.ConstructorArguments.Add(new CustomAttributeArgument(stringType, "ProcessedBySomething"));
result.ConstructorArguments.Add(new CustomAttributeArgument(stringType, "1.0"));
保存程序集后,它依赖于 .net 4.0,因为操作应用程序是用 .net 4.0 编写的。 GeneratedCodeAttribute 存在于 .net 2.0 中,我做错了什么?
【问题讨论】:
-
您在 C# 4.0 代码中使用
typeof(GeneratedCodeAttribute),这将为您提供与 4.0 运行时相关的类型。难道没有办法通过从 2.0 运行时加载GeneratedCodeAttribute来使用 Mono.Cecil 做同样的事情吗?
标签: c# mono mono.cecil