相关疑难解决方法(0)

Directory.build.props 中的“PropertyGroup”条件不起作用

我已经创建了一个 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

7
推荐指数
1
解决办法
1964
查看次数

标签 统计

msbuild ×1