1

我有一个应用程序,我将有两个版本 - 试用版和商业版。试用版与商业版相比会有一些有限的功能。但是我需要做的是,当一个人拥有试用版时,他不可能发现完整版的功能。最简单的想法是拥有两个完全独立的构建,但是这将很难维护(我认为)。我的第二个想法是使用条件编译符号构建解决方案 - 试用和完整。我将调整源以这种方式工作,我将使用#If 语句。我的问题是这是否安全。似乎不在Full编译符号的#If 语句中的代码将从程序集中排除,但我需要您的帮助,因为我需要确定。非常感谢

4

1 回答 1

2

您通过条件编译排除的正确代码将不会包含在生成的可执行文件中。这样它是“安全的”,即它不能被黑客入侵以执行不存在的代码。所有托管代码本质上都是可反编译的。

您不能使用条件编译来生成包含代码的两种状态(已定义/未定义)并在运行时选择行为的单个可执行文件。

于 2013-10-27T16:39:30.377 回答