Обычно, когда есть разница между представлением Reflector и тем, что, я думаю, должно быть - я использую ILDasm. Я думаю, что целочисленные проблемы могут быть решены тем, что сказали Джон и Наджмеддин. Строки немного сложнее (например, значение атрибута copyright и строка вашего регулярного выражения).
Строковые константы (вещи в кавычках в исходном коде) хранятся в виде байтовых последовательностей Юникода в двоичном файле (в кучах двоичных объектов или пользовательских строк). Вы можете точно увидеть, что находится в вашем двоичном файле, используя ILDasm, если вы сделаете следующее:
0. Загрузите вашу сборку в ILDasm
1. Просмотр-> Проверка мета-информации Raw: Кучи
2. View-> Meta Info нажмите Показать!
Если вы выполните поиск по «авторскому праву», он, скорее всего, будет находиться в куче больших двоичных объектов (значения атрибутов используют другую сериализацию для байтов и находятся в куче больших двоичных объектов с другими двоичными значениями), а для вас строка RegEx должна находиться в куча пользовательских строк.
Как только вы посмотрите на значение в ILDasm, вы увидите, что на самом деле находится в сборке ... если есть разница между этим и тем, что показывает Reflector ... скорее всего, Reflector выполняет декодирование с максимальным усилием двоичная строка для экранирования нечитаемых символов в более читаемый формат. Поскольку существует несколько возможных кодировок / декодировок, Reflecor иногда показывает допустимую строку - но просто не декодируется правильно (например, \ x27 anc \ x22 декодирования для 'и ").
Короче говоря, ваши значения не изменились в сборке (скорее всего), просто Reflector неправильно декодирует их в исходную строку.