如何在 Xamarin Forms 项目中使用最新的 C# 版本

use*_*392 4 c# xamarin xamarin.forms

我有一个Xamarin Forms申请。我想在特定于平台的项目(即 Xamarin.iOS 和 Xamarin.Android)中使用最新的 C# 版本。看起来我可以添加<LangVersion>latest</LangVersion>到 .csproj 文件中。但是,我不确定在哪里添加它。PropertyGroup我在项目文件中看到很多标签(通常每个模拟器和发布类型都有一个标签)。我需要将其添加到每个吗PropertyGroup?我需要在调试和生产时使用最新的语言版本。

小智 6

James Montamagno 在他的博客上发布了教程:https ://montemagno.com/use-csharp-8-everywehre/

您只需更改<LangVersion />.csproj 的值:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <ProduceReferenceAssembly>true</ProduceReferenceAssembly>
    <LangVersion>8.0</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Xamarin.Forms" Version="4.3.0.947036" />
    <PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

如果您想更改平台特定代码的语言,只需添加:

  <PropertyGroup>
    <LangVersion>8.0</LangVersion>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

到你的ProjectName.iOS.csprojProjectName.Android.csproj.


Jun*_*ang 5

一般来说,如果您使用最新版本的Target框架,则版本C#也会是最新的。那么你就不需要手动设置版本了C#

右键单击Xamarin Forms 的解决方案,然后单击Properties ,然后可以如下设置Target Framework 。

在此输入图像描述

你可以参考这个官方文档来了解它的解释。

在此输入图像描述

也可以C#手动设置版本,.csproj如下所示:

<PropertyGroup>
   <LangVersion>latest</LangVersion>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

这是 C# 语言版本参考。

在此输入图像描述