Hue*_*Hue 6 xamarin.android xamarin xamarin.forms visual-studio-2017 .net-standard
我想知道如何创建一个针对Android Kitkat最低版本(API 19)的Xamarin.Forms项目,而不使用共享项目选项.
.Net标准库不是一个选项,因为最低支持的Android版本是Nougat.我的目标用户中有很大一部分(超过40%)仍然使用Android版本低于Nougat的手机.
在Visual Studio 15.5.1或更高版本中,在使用跨平台应用程序模板创建新的Xamarin.Forms项目时,代码共享策略部分下未提供PCL选项.
有人指出,PCL现已在Xamarin论坛和Visual Studio开发者社区上弃用
关键支持问题:
Forms 支持 Android 4.0.3 (API 15) 及更高版本,您可能会混淆“目标框架”( compileSdkVersion) 和“目标 Android 版本”( targetSdkVersion) 与“最低 Android 版本” ( minSdkVersion)。
您的Xamarin.Form项目必须使用 Nougat/7.0 ( MonoAndroid7.0) 或更高版本的目标框架,但可以针对最低 4.0.3/IceCreamSandwich 版本。
Xamarin 有一个很棒的指南,解释了这些东西如何与 Android 相关Xamarin.Android
微软完全删除了创建基于 PCL 的库的模板选项
PCL项目仍然建设良好
NetStandard 是唯一的未来,PCL 已死,等等,等等......
恕我直言,这是一个重大变化,因为我的很多客户还没有准备好转换为 NetStd,并且仍然存在 NetStd 错误(主要是边缘情况)
仍然需要创建一个 PCL 库,获取一个现有项目并复制、剥离和重命名它......或者创建您.csproj自己的(请参阅基础.csproj)。
.csproj:<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C38DBA87-39CB-4FD5-B409-6D19E6ED54C8}</ProjectGuid>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<UseMSBuildEngine>true</UseMSBuildEngine>
<OutputType>Library</OutputType>
<RootNamespace>PCLTemplate</RootNamespace>
<AssemblyName>PCLTemplate</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile111</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="MyClass.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
</Project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |