我已经编写了一个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。