.NET实用程序的替代构建系统

时间:2013-08-25 10:58:12

标签: c# .net build components libraries

目前,我正在为每个域中的每个实用程序库使用多个.NET项目。假设我需要访问用于鼠标/键盘/操纵杆控件的Win API,或者使用文件和文件夹的实用程序,我为每个都有不同的库,所以我们称之为“Core.HumanInterface”和“Core.Files”。使用这个系统,许多不必要的代码被拉入任何应用程序,膨胀构建大小和减慢下载时间。

在Flash / ActionScript中,您可以在项目中添加构建路径,这些目录中的代码将在中自动拉入。只有使用过的类才会内置到二进制文件中,并且会被编译到EXE本身,而不需要每个库都有单独的DLL。而且您不需要为许多不同的“项目”添加“引用”。

.NET是否有任何备用构建系统,例如上面提到的构建路径?

1 个答案:

答案 0 :(得分:1)

这是链接器的功能。 .NET实际上有一个al.exe,但构建系统不直接支持创建.netmodule文件。设置你自己的基于makefile的构建系统来利用C#编译器的/target:module选项是你有一天会后悔的。

坚持使用Flash下载大小是您最关心的问题,因此对其进行了大量优化。拥有大量未使用代码的程序集在运行时不是问题,.NET只会加载实际使用的代码。