由于2.0还没有正式发布,xamarin也还没有更新它的模板库来支持.net standard ,所以很多都得手动设置。
第一步:创建普通的Prism.Xamarin项目
第二步:更改PCL类库为标准类库。
1,VS2015就有的老方法,通过项目属性页的链接按钮更改。
会提示如下错误:
这时候只能删除全部Nuget包再进行操作,操作结束后再添回Nuget包。
转换成功后默认会带有Microsoft.NETCore.Portable.Compatibility包,应该删除。
编辑project.json文件,添加如下设置,否则无法添加Xamarin等Nuget包:
{ "supports": {}, "dependencies": { "NETStandard.Library": "1.6.1" }, "frameworks": { "netstandard1.4": {
"imports": "portable-net45+net45+wp8+win81+wpa8"
} } }
备注:
Xamarin.Forms使用正式版2.3.3.193可以编译通过。
类库属性:
2,直接创建新的.net standard类库,移植PCL内容。
备注:记得更改位置,不然文件夹不和ios.uwp,droid项目在同级目录。
在.csproj文件中添加如下设置:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard1.4</TargetFramework> <PackageTargetFallback>$(PackageTargetFallback);portable-win+net45+wp8+win81+wpa8</PackageTargetFallback> </PropertyGroup> <ItemGroup> <PackageReference Include="Prism.Unity.Forms" Version="6.3.0" /> <PackageReference Include="Xamarin.Forms" Version="2.3.4.221-pre6" /> </ItemGroup> </Project>
重新加载项目,把PCL类库的文件全部托过来,编译项目。
类库属性:
备注1:
Xamarin.Forms如果使用正式版2.3.3.193,编译会出XamlCTask错误。
Google的结果,这是一个Xamarin的Bug,beta-2.3.4-pre4版本已经修正了。
https://bugzilla.xamarin.com/show_bug.cgi?id=53060
升级到beta-2.3.4-pre6编译成功。
追加:
2017/4/5 Xamarin.Forms 2.3.4 正式版Release,用最新版应该不会有以上问题。
https://blog.xamarin.com/announcing-xamarin-forms-stable-release-2-3-4/
备注2:
UWP项目的Microsoft.NETCore.UniversalWindowsPlatform为5.1.0版本时将会出现如下错误:
System.Reflection.Emit.ILGeneration 4.3.0 为 UAP,Version=v10.0 上的 System.Reflection.Emit.ILGeneration 提供了编译时引用程序集,但没有与 win10-arm-aot 兼容的运行时程序集。
一个或多个包与 UAP,Version=v10.0 (win10-arm-aot) 不兼容。
System.Reflection.Emit.ILGeneration 4.3.0 为 UAP,Version=v10.0 上的 System.Reflection.Emit.ILGeneration 提供了编译时引用程序集,但没有与 win10-x64-aot 兼容的运行时程序集。
一个或多个包与 UAP,Version=v10.0 (win10-x64-aot) 不兼容。
System.Reflection.Emit.ILGeneration 4.3.0 为 UAP,Version=v10.0 上的 System.Reflection.Emit.ILGeneration 提供了编译时引用程序集,但没有与 win10-x86-aot 兼容的运行时程序集。
一个或多个包与 UAP,Version=v10.0 (win10-x86-aot) 不兼容。
升级到最新5.3.1编译将没问题。
两者区别
方法一:
方法二:
介于有这些区别,更加应该使用VS2017的.net standard模板创建类库,以应对未来的变化。
下载说明
☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,
☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!
☉唯一站长QQ:1004003180 [人格担保-本站注重诚信!]
☉购买建议E-mail:1004003180@qq.com 源码收购 E-mail:1004003180@qq.com
☉本站文件解压密码 【文章内都自带解压密码,每个密码不同!】