没有办法做到这一点,除非你说=使用#if。MSBuild 配置名称只是项目文件中用于构建项目特定风格的一组配置的名称。默认情况下,您无法从代码中访问此配置名称。
我看到两种方法可以更改代码中的字符串:
a)正如你所说 - 你可以指定条件编译符号,所以你可以做类似的事情
#if DEBUG
const string Flavor = "Debug";
#else
const string Flavor = "Release";
#endif
...
Console.WriteLine("You are running the " + Flavor + " version" );
b)您可以使用您的项目文件并根据配置包含不同的文件集。如果您将卸载项目并将 csproj 作为文件打开 - 您将看到例如
<ItemGroup>
<Compile Include="MyApp.cs" />
</ItemGroup>
您可以更改为:
<ItemGroup>
<Compile Include="MyApp.Release.cs" Condition="'$(Configuration)'=='Release'" />
<Compile Include="MyApp.Debug.cs" Condition="'$(Configuration)'=='Debug'" />
</ItemGroup>
因此,这就是您将为每个配置包含不同文件集的方式,您可以在其中指定用户现在拥有的配置。