Я подробно рассмотрел и не могу найти информацию об изменении управляемых ресурсов в сборках (обратите внимание, что я уже знаком с ресурсами Win32 и API для их изменения).Как добавить, удалить и обновить ресурсы в сборках CLR?
Мое приложение имеет ресурсы, которые должны быть обновлены конечным пользователем, и приложение будет распространено как один исполняемый файл (поэтому я не могу просто использовать спутниковые сборки).
Я вижу несколько возможных путей их устранения, но они кажутся хаком:
Первый заключается в использовании ILMerge: Я бы создать новую сборку в памяти, которая содержит новые ресурсы и использовать ILMerge, чтобы объединить его с оригинальная сборка для создания новой программы. Единственным недостатком является то, что ресурсы не могут быть обновлены или удалены.
Второе несколько похоже: будет существовать .netмодуль (испускаемый из компилятора C#), который запускается против al.exe с ключом/embed, чтобы добавить ресурсы для формирования новой сборки. Недостатком является то, что ни один из ресурсов исходной сборки не будет присутствовать.
Я склоняюсь к опции ILMerge, но условия перераспределения неоднозначны. EULA не ссылается на права перераспределения (поэтому я предполагаю, что в этом сообществе «Отрицательная свобода» это разрешено), однако на странице «Исследования Microsoft» говорится, что перераспределение запрещено (но это неоднозначно сформулировано, поскольку я могу сказать, что это может иметь в виду коммерческое перераспределение, который не будет применяться ко мне, поскольку это некоммерческий проект GPL).
Благодаря