【问题标题】:Target framework not effective in VS2019目标框架在 VS2019 中无效
【发布时间】:2021-04-08 23:14:12
【问题描述】:

我在 VS2013(框架 4.5)中创建的项目中有一个测试工具。为了测试 VS2019 的内容,我添加了一个本地函数(来自 C# 7)。该项目仍然以 4.5 为目标,但它编译和运行时没有任何错误。这不好 - 我希望人们能够在 VS2013 中进行编辑,如果这是他们获得的版本。告诉我我在这里遗漏了一些简单的东西。

    static void Main(string[] args)
    {
        string LocalFunction()
        {
            return "yeah, im local, dude.";
        }

        Console.WriteLine(LocalFunction());
        Console.ReadKey();
    }

【问题讨论】:

标签: c# visual-studio


【解决方案1】:

您想强制使用相同的语言功能吗?在这种情况下,请在 MSBuild 可以识别的 csproj 文件(或构建属性文件)中设置 LangVersion 属性。例如,这会将语言功能限制为 C# 6(即使对于 .NET 5 项目):

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <LangVersion>6</LangVersion>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

</Project>

然后,你会看到编译时错误:

请参阅official doc 了解您可以在其中放置的所有值。

【讨论】:

    猜你喜欢
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    相关资源
    最近更新 更多