VC#中项目类型(目标)的预编译器概念

问题描述 投票:0回答:1

就像在DEBUG / RELEASE模式下的项目一样我们使用

#ifdef DEBUG
...

TARGET是否有相同的东西? (exe / lib / winexe)吗?

c# precompile
1个回答
0
投票

没有内置任何内容,但是您可以在构建中定义任何您喜欢的内容;这可以按项目手动完成,也可以更动态地完成。这是一个示例,如果目标框架是(两个)中的任意一个,则有条件地附加一个PLAT_NO_EMITDLL符号,以便代码可以#if PLAT_NO_EMITDLL而不是在C#文件中具有所有“哪个框架具有哪些平台功能”逻辑:

  <PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
    <DefineConstants>$(DefineConstants);PLAT_NO_EMITDLL</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
    <DefineConstants>$(DefineConstants);PLAT_NO_EMITDLL</DefineConstants>
  </PropertyGroup>

根据您的情况,您可能希望查看$(OutputType)

© www.soinside.com 2019 - 2024. All rights reserved.