Выполнить код.NET при сборке
Я пишу приложение на C#, которое принимает встроенные файлы SQL и выполняет их с помощью FluentMigrator; и я должен найти способ лишить мой SQL определенных символов, которые вызывают проблемы FluentMigrator, когда он пытается выполнить. Существует 3 способа выполнения SQL через FM: выполнить файл по имени, выполнить встроенный ресурс по имени и строку, содержимое которой является допустимым SQL.
Ранее я пытался использовать метод выполнения sql, содержащийся в строке, где я мог удалить плохие символы перед передачей их в FM. Из-за других ограничений я не могу пойти по этому пути и должен выполнить SQL, указав имя встроенного ресурса. Проблема здесь в том, что я не могу удалить плохие символы перед выполнением этим методом.
Есть ли способ выполнить код, который мог бы удалить плохие символы из моих встроенных файлов ресурсов во время сборки / компиляции. Я знаю, что есть события сборки, но они, похоже, ограничены функциями командной строки. Могу ли я сделать больше?
Изменить: пример этих символов будет "\r\n", "\n\r" и даже ";" один на линии.
1 ответ
Поскольку вы можете вызывать произвольные функции командной строки во время события сборки, вы действительно ограничены только своим воображением. Например, вы можете скомпилировать инструмент для удаления символов в исполняемый файл, а затем вызвать.exe из вашего события сборки.