出于安全原因,我需要从结果exe
中排除一些代码和一些文件。我为此使用了条件编译符号SECURE
。排除代码很简单
#if !SECURE
// Some secure code
#endif
但是对于文件-不多。仅在定义了Condition
符号的情况下,我应该在下面的SECURE
中写什么以排除这些文件?
<ItemGroup Condition="???">
<Compile Remove="SecureClass.cs" />
<None Include="SecureClass.cs" />
</ItemGroup>
经过一番挖掘,我发现了this github issue。
所以答案是:
<ItemGroup Condition="$(DefineConstants.Contains('SECURE'))">
<Compile Remove="SecureClass.cs" />
<None Include="SecureClass.cs" />
</ItemGroup>
也尝试过这种方法,但是它不起作用:
<!--#if (SECURE)-->
<ItemGroup>
<Compile Remove="SecureClass.cs" />
<None Include="SecureClass.cs" />
</ItemGroup>
<!--#endif-->