我已经创建了一个 Directory.build.props 文件,所以我可以在那里设置 C# 语言版本。但我也有 Visual Basic 项目,所以我想将设置限制为 C# 项目。
<Project>
<PropertyGroup Condition="'$(ProjectExt)'=='.csproj'">
<LangVersion>7.2</LangVersion>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
但是我的项目没有加载它/UI 没有显示语言版本 7.2。我试图在 csproj 文件中应用相同的条件,但也不起作用。
<PropertyGroup>
<LangVersion Condition="'$(ProjectExt)'=='.csproj'">7.2</LangVersion>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
但是,这将起作用:
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Message Text="Condition working" Importance="high" Condition="'$(ProjectExt)'=='.csproj'"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
构建将输出我的消息
为什么该条件不适用于我的 LanguageVersion?任何线索?
msbuild ×1