首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将正常项目升级为Xamarin.Forms项目

将正常项目升级为Xamarin.Forms项目
EN

Stack Overflow用户
提问于 2015-05-18 05:44:03
回答 1查看 461关注 0票数 1

我有一个运行良好的Xamarin项目,但它是一段时间前构建的。现在,我的要求是将这个项目升级到一个Xamarin.Forms项目。所以我安装了表单nuget软件包。然后我试着建造这个项目。所发生的是从所有项目中删除的所有api级别设置。因此,我增加了api级别=> min 19,并使用最新的api级别进行了编译。

在这一切之后,我得到了一个错误:

加载程序集时出错141个异常: System.IO.FileNotFoundException:未能加载程序集'Mono.Android.Support.v4、Version=0.0.0.0、Culture=neutral、PublicKeyToken=84e04ff9cfb79065‘。也许它不存在于配置文件中?文件名:'Mono.Android.Support.v4.dll‘在Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference引用,ReaderParameters参数)在Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1程序集,AssemblyDefinition程序集,布尔topLevel)在Xamarin.Android.Tasks.ResolveAssemblies.Execute()

我尝试过从nuget安装Xamarin.android.supprt.v4.dll,但是没有什么区别。

我正在使用Visual 2013,我还更新了我的Xamarin for Windows。

EN

回答 1

Stack Overflow用户

发布于 2015-05-18 15:33:07

我只能猜测,因为我看不见你的项目文件。

这看起来像是PCL的问题。Xamarin.Forms项目既可以是“共享的”,也可以是"PCL“风格的。“共享”项目可以访问与您的iOS或安卓项目相同的API。" PCL“口味只能访问API的一个子集,并使事情变得更复杂--那里有PCL的子口味。

如果您要将现有项目迁移到XF,我会说,您可能会更好地使用“共享”风格。如果你是开始新的,或觉得这不会是太多的重构-使用PCL。

看起来,您有一个PCL项目,并复制了试图使用System.IO.File的代码--这是几个缺少的API之一--您必须将这个API使用重构为一个依赖服务,或者使用一些IoC来访问它。

简而言之,您将创建一个接口,提供您所需的文件功能(保存、加载、删除.),在您各自的iOS/Android/Win项目或更好的共享项目中实现该接口,并使用IoC在XF项目中实例化该接口。有关示例,请参见如何使用来自XLabsXLabs

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

https://stackoverflow.com/questions/30295854

复制
相关文章

相似问题

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