【发布时间】:2021-08-04 04:18:41
【问题描述】:
我有一个具有多目标的 C# (SDK) 项目,我必须仅在一些较旧的框架版本中包含某个文件,我可以像这样轻松实现它:
<ItemGroup Condition="('$(TargetFramework)'=='net35') Or ('$(TargetFramework)'=='net40') Or ('$(TargetFramework)'=='net45') Or ('$(TargetFramework)'=='net451') Or ('$(TargetFramework)'=='net452')">
<!-- do something -->
</ItemGroup>
但这看起来有点笨拙并且不容易阅读,所以我尝试这样做(以及它的数十种变体)但没有任何成功:
<ItemGroup Condition="'|net35|net40|net403|net45|net451|net452|'.Contains('|$(TargetFramework)|')">
<!-- do something -->
</ItemGroup>
有没有办法用字符串包含操作来做到这一点?
我查看了这样的帖子:Is there any MSbuild task to check if a string contains another string (similar to string.contains),但他们在那里所做的似乎对我不起作用。
我使用的版本是 Visual Studio 2019 (16.9.4)
【问题讨论】:
标签: visual-studio msbuild csproj