c# – 将Xamarin Windows 8应用程序移植到Windows 10 SDK

前端之家收集整理的这篇文章主要介绍了c# – 将Xamarin Windows 8应用程序移植到Windows 10 SDK前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试运行其中一个样本 from this site.

问题是:为Windows 8制作了项目.当我在Visual Studio中打开解决方案时,它告诉我需要安装Windows 8 SDK才能继续.

我现在使用Windows 10 SDK,我将不再使用SDK 8,所以我宁愿不安装此SDK并使用新的一个intead.我可以以某种方式将此项目移植到Windows 10应用程序?

它现在看起来如何:

解决方法

是的,移植是可能的.我建议在这个解决方案中创建一个新项目(这个git的大多数解决方案已经添加了UWP支持,正如我所见)并重做大多数东西.在一些使用平台特定代码的项目中,这种移植可能不起作用,因为一些API从WP8变为UWP – 正如您可能知道的那样.

在这个过程后我仍然有问题 – 我没有工作.appxmanifest文件,所以我无法创建.pfx文件.这会一直警告您缺少certifcate文件.

我不确定是否所有步骤都是必要的.我把它留作家庭作业;)

无论如何,在这里我向您展示了将TodoREST项目移植到UWP的步骤:

>卸载iOS和Droid项目将使这更容易
>从Portable和WinPhone81项目中卸载所有nuget包
>将便携式班级配置文件更改为Profile111(取消选中WP8 Silverlight作为目标)
>现在你可以在便携式项目上重新安装Xamarin.Forms和Newtonsoft.Json(卸载是必要的,以便更改配置文件 – 这是必要的,因为它在这里引发了一些错误)
>从WinPhone81项目中删除app.config
>将project.json文件添加到WinPhone81项目并输入以下内容

{
    "dependencies": {
        "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0","Xamarin.Forms": "2.0.0.6482"
    },"frameworks": {
        "uap10.0": { }
    },"runtimes": {
        "win10-arm": { },"win10-arm-aot": { },"win10-x86": { },"win10-x86-aot": { },"win10-x64": { },"win10-x64-aot": { }
    }
}

>保存所有内容关闭WinPhone81项目
>在文件资源管理器中,转到文件夹并编辑Package.appxmanifest

>通过以下方式交换包裹标签

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:m3="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="m3 mp">

>删除…并添加以下内容

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0"/>
</Dependencies>

>编辑TodoREST.WinPhone81.csproj:

>在第一个< PropertyGroup>中替换< TargetPlatformVersion>这样:

<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion>10.0.10586.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.10586.0</TargetPlatformMinVersion>

>将ProjectTypeGuids更改为

<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

>在每个具有Condition = …的PropertyGroup上,用WINDOWS_UAP替换DefineConstants中的WINDOWS_PHONE_APP
>保存

>在Visual Studio中重新加载项目
>编辑MainPage.xaml并将< forms:WindowsPhonePage更改为< forms:WindowsPage和forms命名空间使用:Xamarin.Forms.Platform.UWP(来自.WinRT)
>在这里我不得不因为任何原因重启VS2015,因为它没有注意到project.json
>启动项目并进行调试!

我希望这回答了你的问题.

猜你在找的C#相关文章