我已经编写了一个Visual Studio C#项目,并且需要创建两个可执行文件,一个用于同一项目的“精简版”,一个用于“完整版”。

“精简版”将是完整版的精简版,因此我想共享所有内容(代码,资源等),并在可能的情况下使用编译指令隔离代码块。

您能告诉我一种干净的方法吗?

最佳答案

您可以在项目中创建一个新的Conditional compilation symbol(例如FULLVERSION)。使用new Solution configuration创建Configuration Manager(例如ReleaseFullversion),并在此配置中定义FULLVERSION常量。



然后,您可以使用

#if FULLVERSION
 ...
#end if


或使用Conditional atrribute

[Conditional("FULLVERSION")]
void MyMethod()
{...}


创建精简版本的应用程序。

如果未设置#if常量,则这些Conditional -block和这些FULLVERSION属性中的代码将不会编译到程序集中(实际上Conditional属性只是删除了对该代码块的调用)。



然后,您将构建解决方案的精简版或包含完整代码的Fullversion。

10-05 23:13