如何将 Windows 通用应用程序迁移到便携式图书馆项目?
How to migrate a Windows Universal App to Portable Library Project?
我之前开发了一个Windows通用应用程序。
我想将所有非平台特定代码迁移到可移植 class 库项目中,以便进一步 development.How 实现此目标?
在 Windows 通用应用程序中,有一些后端 C# 代码控制 UI 内容并操作数据。我可能无法很好地分离非平台特定的代码。在这种情况下,我还能迁移到 PCL 项目吗?
我在便携式 class 库文档中搜索了如下 link:
https://msdn.microsoft.com/library/gg597391.aspx
描述看起来很混乱。这是否意味着我只需将我以前的应用程序包包含在 PCL 项目中,然后一切正常?
您将需要提取特定于平台的代码。您引用的文档朝另一个方向发展:PCL 包含在 appx 包中,而不是 PCL.
中的应用程序包
根据平台特定代码的根深蒂固程度,您可以通过控制反转将其分离出来:定义一个接口,PCL 可用于回调主机以获取平台特定数据,该接口然后 PCL 可以操纵。
例如,如果当前代码具有特定于平台的代码来打开文件并获取其内容,PCL 可以调用主机中打开文件的函数和 returns 流到内容。
如何迁移
除非你把题目改成"how can I move platform independent portion of my code to PCL",否则我相信没有其他人能轻易理解你的意思。
我假设您在 Visual Studio 中已经有一个 Windows 通用应用程序项目。然后将代码移动到PCL、
- 只需创建一个空的 PCL 项目(选择合适的配置文件),并将其添加为对原始 Windows 通用应用项目的引用。
- 从您的应用程序项目剪切(不是复制)一些源文件并将其粘贴到此 PCL 项目。
- 编译解决方案并修复问题。
如果您不知道什么是 PCL 配置文件,请阅读 MSDN 相关资料。如果您不知道哪些源文件应该转到 PCL,哪些应该保留在应用程序项目中,请进行实验或查看其他人的示例项目。
关于你的困惑
我只能说看懂了你强调的内容,同一句话中没有突出显示的内容和副标题你要仔细看。
显然,当您有一个 PCL 项目和一个引用 PCL 的 Windows Store/Phone 应用程序项目时,当您生成部署包 (.appx) 时在 Visual Studio 中,最终包将包含所有需要的程序集。
显然不是你描述的那样。
我之前开发了一个Windows通用应用程序。 我想将所有非平台特定代码迁移到可移植 class 库项目中,以便进一步 development.How 实现此目标?
在 Windows 通用应用程序中,有一些后端 C# 代码控制 UI 内容并操作数据。我可能无法很好地分离非平台特定的代码。在这种情况下,我还能迁移到 PCL 项目吗?
我在便携式 class 库文档中搜索了如下 link: https://msdn.microsoft.com/library/gg597391.aspx
描述看起来很混乱。这是否意味着我只需将我以前的应用程序包包含在 PCL 项目中,然后一切正常?
您将需要提取特定于平台的代码。您引用的文档朝另一个方向发展:PCL 包含在 appx 包中,而不是 PCL.
中的应用程序包根据平台特定代码的根深蒂固程度,您可以通过控制反转将其分离出来:定义一个接口,PCL 可用于回调主机以获取平台特定数据,该接口然后 PCL 可以操纵。
例如,如果当前代码具有特定于平台的代码来打开文件并获取其内容,PCL 可以调用主机中打开文件的函数和 returns 流到内容。
如何迁移
除非你把题目改成"how can I move platform independent portion of my code to PCL",否则我相信没有其他人能轻易理解你的意思。
我假设您在 Visual Studio 中已经有一个 Windows 通用应用程序项目。然后将代码移动到PCL、
- 只需创建一个空的 PCL 项目(选择合适的配置文件),并将其添加为对原始 Windows 通用应用项目的引用。
- 从您的应用程序项目剪切(不是复制)一些源文件并将其粘贴到此 PCL 项目。
- 编译解决方案并修复问题。
如果您不知道什么是 PCL 配置文件,请阅读 MSDN 相关资料。如果您不知道哪些源文件应该转到 PCL,哪些应该保留在应用程序项目中,请进行实验或查看其他人的示例项目。
关于你的困惑
我只能说看懂了你强调的内容,同一句话中没有突出显示的内容和副标题你要仔细看。
显然,当您有一个 PCL 项目和一个引用 PCL 的 Windows Store/Phone 应用程序项目时,当您生成部署包 (.appx) 时在 Visual Studio 中,最终包将包含所有需要的程序集。
显然不是你描述的那样。