我目前有一个编译成库的C#代码库。我有两个客户,每个客户只需要一个选定的可用方法子集,管理层担心他们可能共享文件以访问他们没有支付的其他方法(偏执)。
为了减少项目的复杂性,我创建了两个安装项目,其中包括代码项目的主要输出,并希望在每个安装项目的基础上为编译器提供/定义参数,以删除某些方法。
这可能吗?
有没有更好的方法来解决这个问题?
感谢您的回复。
答案 0 :(得分:1)
我没有得到“交换文件”的角度,用什么交换?但是,不,安装项目无法编译代码。您需要单独的构建项目或利用#ifdef。
答案 1 :(得分:0)
如果这是一个许可问题,我很想建议您使用所调用的每个方法检查许可证,但这可能会增加很多开销。
或者,您最好创建两个Visual Studio项目,每个项目仅包含每个客户端所需的子集,并在需要它的客户端之后命名每个项目。它们可以共享相同的源文件,但可以构建到两个不同的二进制文件中。
我假设您将图书馆作为产品运送,而不是运送使用图书馆的产品?