目录
介绍
使用工具
- 下载源代码 - 309.6 KB
我非常想要一个比ILMerge更可靠、更易于使用的工具来静态链接.NET中的代码模块,但如果失败了,我希望有另一种方法来等效于公共代码的“静态库”,其中单独的程序集是不合理的或根本不需要的,或者你希望用partial class增强功能的地方。
此工具是一个命令行实用程序,允许您将多个源文件合并和缩小为代码“brick”——基本上是一个不透明的文件,可以为代码添加功能。
这样,您可以将一些代码及其所有文件依赖项包含在一个易于管理的文件中,您可以将其放入项目中。
注意:您可能会问,为什么要缩小源代码?好吧,我使用的很多代码是机器生成的,具有深度嵌套的数组,并且这些数组被序列化了相当多的空白,导致文件有时长达20,000行或更多。缩小可以在行数方面减少10个数量级,并且在空间方面减少大量的KB。当您在Visual Studio中打开它时,这实际上使源编辑器变得更容易。当然,编辑源代码并不容易,但是你不应该编辑这些文件,而应该编辑原件。
作为合并过程的一部分,该工具将所有using和#define移动到文件的顶部,并删除重复项。它还为每个文件名添加#define,例如:
#define MYFILE_CS
声明"myfile.cs"是否包含在合并文件之中。这允许条件编译,具体取决于包含的其他文件。这样,不同的文件可以彼此“感知”彼此,并相应地包括扩充另一个代码(通常带有apartial class)的代码。此机制提供了源文件之间复杂的相互依赖性的可能性。
使用工具只需将要合并和缩小的文件的名称提供给实用程序,它就会将结果发送给stdout。
csminify "foo.cs" "bar.cs" > "baz.cs"
这将需要foo.cs和bar.cs和合并/最小化它们,并把结果写入baz.cs。