C# 在生成时执行.NET代码

C# 在生成时执行.NET代码,c#,visual-studio,build,fluent-migrator,C#,Visual Studio,Build,Fluent Migrator,我正在编写一个C#应用程序,它接受嵌入式SQL文件并使用FluentMigrator执行它们;我必须找到一种方法来去除SQL中的某些字符,这些字符在尝试执行FluentMigrator时会导致问题。通过FM执行SQL有3种方式:按名称执行文件、按名称执行嵌入式资源和内容为有效SQL的字符串 以前,我曾尝试使用执行包含在字符串中的sql的方法,在将其传递给FM之前,我可以去除坏字符。由于其他限制,我不能走这条路线,必须通过提供嵌入资源的名称来执行SQL。这里的问题是,我无法在使用此方法执行之前去除

我正在编写一个C#应用程序,它接受嵌入式SQL文件并使用FluentMigrator执行它们;我必须找到一种方法来去除SQL中的某些字符,这些字符在尝试执行FluentMigrator时会导致问题。通过FM执行SQL有3种方式:按名称执行文件、按名称执行嵌入式资源和内容为有效SQL的字符串

以前,我曾尝试使用执行包含在字符串中的sql的方法,在将其传递给FM之前,我可以去除坏字符。由于其他限制,我不能走这条路线,必须通过提供嵌入资源的名称来执行SQL。这里的问题是,我无法在使用此方法执行之前去除坏字符

是否有一种执行代码的方法,可以在构建/编译时从嵌入的资源文件中删除坏字符。我知道有构建事件,但它们似乎仅限于命令行函数。我能做得更多吗


编辑:这些字符的一个例子是“\r\n”、“\n\r”甚至是“;”,单独在一行上。

由于您可以在生成事件期间调用任意命令行函数,因此您实际上只受想象力的限制。例如,您可以将字符剥离工具编译为可执行文件,然后从生成事件中调用.exe。

“坏字符”?你能更好地解释一下这一点,并提供一个例子吗?