首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xamarin.Forms:移到.NET标准

Xamarin.Forms:移到.NET标准
EN

Stack Overflow用户
提问于 2017-03-26 05:43:03
回答 1查看 645关注 0票数 0

我的Xamarin.Forms项目以PCL profile 259为目标。我最近读到了很多关于.NET标准的文章,但是做起来很痛苦。

目前我在Visual 2015更新3中开发,但很快就会尝试VS 2017。

我的解决办法包括:

  • 通用PCL库
  • Android专用项目
  • iOS专项工程

我的问题:

  1. 如何将Profile 259转换为最新的.NET标准?
  2. 是否已经有来自Xamarin / Microsoft团队的官方会话指南?
  3. 我的Xamarin.Forms安卓和iOS应用程序都是在VSTS中构建的。VSTS是否支持.NET标准,还是我最终会出现构建错误?

谢谢您的任何好的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-30 09:36:39

若要将PCL更改为.NET标准,只需转到PCL的属性并选择目标.NET标准平台即可

然后创建一个project.json文件,如果它还没有为您创建一个文件,并插入以下内容。

代码语言:javascript
运行
复制
{
  "supports": {},
  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "Xamarin.Forms": "2.3.4.192-pre2"
  },
  "frameworks": {
    "netstandard1.3": {
      "imports": "portable-net45+win8+wpa81"
    }
  }
}

您需要导入以允许添加非.NET标准库。

相对于2017年,情况就不同了。虽然上面的内容将继续工作,但您可以将完整的.NET标准库作为csproj (不再是xproj),并让它与Xamarin一起愉快地工作。

但是,没有自动转换(据我所知),所以我通常所做的是编辑csproj并将其完全替换为以下内容。只需删除该文件中的所有内容并放置以下内容即可。

代码语言:javascript
运行
复制
<Project Sdk="Microsoft.NET.Sdk">    
  <PropertyGroup>
    <TargetFramework>netstandard1.3</TargetFramework>
    <AssemblyName>MyLibraryName</AssemblyName>
    <PackageId>MyLibraryName</PackageId>
    <NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
    <PackageTargetFallback>$(PackageTargetFallback);portable-win+net45+wp8+win81+wpa8</PackageTargetFallback>
  </PropertyGroup>
</Project>

然后,您必须再次手动添加引用和NuGet包。对于PackageTargetFallback,这一行类似于project.json中的导入。

关于VSTS,我知道使用VS2015的第一种方法工作得很好,就像我自己做的那样。VS2017方法应该可以使用VSTS,但是我还没有亲自尝试过。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43025468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档