Добавление атрибута сборки с помощью Mono.Cecil throwsC#

Место общения программистов C#
Ответить
Anonymous
 Добавление атрибута сборки с помощью Mono.Cecil throws

Сообщение Anonymous »

Итак, я пытаюсь добавить ReferenceAssemblyAttribute в сборку с помощью Mono.Cecil. Вот мой код:

Код: Выделить всё

var assembly = AssemblyDefinition.ReadAssembly(inputDll);
var referenceAssemblyAttribute = assembly.MainModule.ImportReference(typeof(ReferenceAssemblyAttribute));
var referenceAssemblyAttributePrimaryConstructor = referenceAssemblyAttribute.Resolve().GetConstructors().First(x => !x.HasParameters);
assembly.MainModule.ImportReference(referenceAssemblyAttributePrimaryConstructor);
assembly.CustomAttributes.Add(new CustomAttribute(referenceAssemblyAttributePrimaryConstructor));
assembly.Write(outputDll);
это вызывает необработанное исключение. System.ArgumentException: член «System.Void System.Runtime.CompilerServices.ReferenceAssemblyAttribute::.ctor()» объявлен в другом модуле и его необходимо импортировать
Я могу увидите, что сборка.MainModule.AssemblyReferences заполняется дополнительной ссылкой на System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, где определен атрибут.
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/791 ... cil-throws
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»