2014-12-19 2 views
1

Мне нужно определить, когда существуют какие-либо модификации в коде C#, автоматически генерируемые с помощью CSharpCodeProvider после генерации.Обнаружить модификацию в автоматизированном сгенерированном исходном коде C# csharpcodeprovider

Существуют ли какие-либо встроенные решения? Я могу сделать свое решение (добавив CRC в комментарий) ... но я ищу встроенное решение, предоставляемое платформой .NET.

Я проверяю #Pragma checksum, но его единственное обнаружение изменений между источником и двоичным.

+1

Модификация когда, на что? К источнику, к скомпилированному двоичному файлу? Пожалуйста, объясните свою [Модель угрозы] (http://en.wikipedia.org/wiki/Threat_model), поскольку любое решение будет зависеть от того, что вы конкретно пытаетесь защитить. –

+0

Это важно? Мне нужно проверить, что только исходные файлы, созданные через CSeharpCodeProvider, хранятся на моем сервере TFS. –

+0

. Мне кажется, вам нужно объяснить гораздо больше о том, как вы используете CSharpCodeProvider. «Мне нужно проверить, что только исходные файлы, созданные через CSeharpCodeProvider, хранятся на моем сервере TFS». Это утверждение не имеет для меня никакого смысла - CSharpCodeProvider не (насколько мне известно) генерировать исходные файлы. – RenniePet

ответ

1

Возможно, я что-то пропускаю, но не понимаю, почему вы не применяете подход KISS. Просто используйте File.Copy(), чтобы создать резервную копию ранее созданного файла. Затем он становится простым сравнением строк с помощью File.ReadAllText() в новом и старом файле. И делайте то, что вы хотите делать, когда они разные.

+0

Ваш «поцелуй» теперь мой «единственный подход» ... но не «поцелуй». Создайте CRC, не является племенным ... Мне нужно удалить пробелы, вкладки, комментарии ... и вычислить CRC, используя SHA1 (или аналогичный). –

+0

Получение того же CRC делает * не * гарантирует, что файлы одинаковы. –

Смежные вопросы