gpt4 book ai didi

c# - 可以将条件编译符号添加到 csproj.user 文件吗?

转载 作者:可可西里 更新时间:2023-11-01 08:47:52 24 4
gpt4 key购买 nike

我正在 VS 2013 中使用 C# Xamarin iOS 项目。我想添加一个条件编译符号而不影响任何其他人或不必进入配置管理器并说复制调试(主要是为了如果有人修改调试我不会错过更改)。

我读过一些帖子说尝试将类似的内容添加到 csproj.user 文件中......

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>$(DefineConstants);__MY_NEW_SYMBOL__</DefineConstants>
</PropertyGroup>

...但这只会删除项目的所有其他符号。

有没有办法修改 csproj.user 文件来实现这一点?

最佳答案

我发现这是一个非常古老的问题。我不确定是否有人真的在使用 VS 2013,但它在 VS2017 中工作,就像它在问题中所做的那样。

但是! 在它起作用之前我必须先运行 Build -> Clean Solution。 “重建解决方案”甚至没有做到。我必须先清理,然后构建并运行它。

我用这段代码测试了它:

#if DEBUG
Console.WriteLine("DEBUG");;
#endif
#if TRACE
Console.WriteLine("TRACE");
#endif
#if __MY_NEW_SYMBOL__
Console.WriteLine("__MY_NEW_SYMBOL__");
#endif

尽管我的 .user 文件只定义了 __MY_NEW_SYMBOL__,但我在运行后在控制台中看到了所有三个。

我的 .csproj 文件有这个:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>

我的 .csproj.user 文件有这个:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>$(DefineConstants);__MY_NEW_SYMBOL__</DefineConstants>
</PropertyGroup>

关于c# - 可以将条件编译符号添加到 csproj.user 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com