出于安全原因,我需要从生成的 exe
中排除一些代码和一些文件。我为此使用条件编译符号 SECURE 。
排除代码很简单
#if !SECURE
// Some secure code
#endif
但对于文件来说 - 没有那么多。仅当定义了 SECURE
符号时,我应该在下面的 Condition
中编写什么内容才能排除这些文件?
<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-->
关于c# - 如何检查 csproj 中的条件编译符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61122780/