问题标签 [portable-class-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-8 - 选择 Windows 运行时组件与可移植代码库
在 Windows Phone 8 和 Windows 8 之间共享代码时,开发人员的两个核心选项是 1) Windows 运行时组件和 2) 门户类库。
Windows 运行时组件使用 WinRT,并且可以投影到所有受支持的语言中。在不同平台上使用时,它们需要单独项目(二进制文件)中的链接文件。但是,它们共享 90% 的可用 WinRT API。
可移植类库是 BCL 的一个子集(有时是重要子集),具有跨平台的二进制兼容性。它们可用于 WinRT 应用程序,也可用于 Silverlight、Xbox 等其他项目类型。
当开发人员选择“共享策略”时,哪种项目类型是在 Windows Phone 8 和 Windows 8 之间共享代码的最佳技术?谢谢。
windows-phone-8 - 如何向面向 Windows Phone 8 的可移植类库项目添加服务引用?
我看到一种奇怪的行为,想知道我是不是做错了什么,或者就是这样。使用 PCL 时,我的目标是 Windows Phone 7。此时,我可以添加服务引用。将目标更改为 Windows Phone 8。此时,我无法再添加服务引用。
有没有办法将服务引用添加到针对 WP8 的 PCL 项目?
提前致谢。
.net - Microsoft 便携式客户端库 - MessageContractAttribute isWrapped 未定义
我正在尝试使用 Microsoft 的便携式库工具来创建一个可供 Silverlight 和 WPF 应用程序使用的通用“便携式”项目。
我在将第 3 方 WebService 的服务引用添加到可移植项目时遇到了麻烦。似乎可移植类库不支持 MessageContractAttribute 类的isWrapped属性,例如,如果我直接在 Silverlight 应用程序中创建客户端存根,存根看起来像这样:
但在我的便携式项目中,它看起来像这样,缺少IsWrapped属性设置:
似乎也不能手动设置,只是不可用/未定义。结果是,我的 Web 服务 SOAP 请求周围有一个不需要的包装器标记,导致服务器响应格式错误的请求错误消息。
我想知道是否有任何已知的解决方法?有没有其他方法可以关闭包装器,或者有谁知道为什么 IsWrapped 属性不可用?
如果我能让它工作,那就太好了,因此我的 WPF 和 Silverlight 解决方案可以共享它。
c# - 如何使用便携式库从 html 元素中获取内容?
我想从中“下载” HTMLhttp://www.google.com/search?q=stack+overflow
并获取前 5 个结果的title
和url
。
在便携式图书馆中,我相信我无法访问HtmlDocument
并且HtmlAgilityPack
无法工作,还是我错了?
我怎样才能完成这项任务,让 lib 至少能够在 Windows Store Apps 和 Windows Phone 上执行?
c# - 在可移植类库中实现自定义异常
在为 .NET 设计自定义异常时,MSDN 提供了这些指南。特别是,指南规定了一个自定义例外:
- 应该是可序列化的,即用属性实现
ISerializable
和装饰,并且[Serializable]
- 应该实现(反)序列化构造函数,即
protected CustomException(SerializationInfo info, StreamingContext context)
.
但是,在可移植类库中SerializableAttribute
,ISerializable
和SerializationInfo
都不支持。
我应该如何在同时针对 .NET Framework 和一个或多个平台的可移植类库中充分设计自定义异常?
c# - System.Tuple 在可移植类库中的位置在哪里?
我不知道我是否安装了不正确的东西,但是在制作了 C# Portable Class Library 目标.NET for Windows Store apps, .NET Framework 4.5, Silverlight 4 and higher, Windows Phone 7 and higher
之后,我得到了System.Tuple
丢失的错误。
这怎么可能?
javascript - 从 Windows 运行时组件调用可移植代码库中的异步方法
背景
我正在构建一个可在 Windows 8(作为商店应用程序)和 Windows 7(作为 WPF 桌面应用程序)上使用的应用程序。这些应用程序将允许浏览一堆(大约 500 多个应用程序“页面”)的内容。
虽然我不能在他们之间共享很多代码,但我确实希望尽可能多地共享。因此,我创建了一个针对 .NET 4.5、Silverlight 4+ 和 Windows 8 的便携式代码库 (PCL)。由于 Win 8 应用程序是用 JavaScript 编写的(出于各种原因,不是这个问题的一部分),我也有一个 Windows运行时组件,充当 JavaScript 和 PCL 之间的代理。换句话说,来自 JavaScript 的异步调用首先调用 WinRT 组件上的方法,然后调用 PCL 中的相应方法。
问题
为了支持 PCL 中的异步操作,我通过 NuGet 安装了 Microsoft.Bcl 和 Microsoft.Bcl.Async 包。这些,除其他外,定义了异步方法所需的 Task 和 Task<> 类,但它们在自己的程序集中这样做。WinRT 组件不需要这些库,因为已经为它定义了 Task 和 Task<>。问题是当我在 WinRT 组件中添加代码以调用返回 Task<> 对象的 PCL 中的 Async 方法时,我收到以下构建错误:
WINMDEXP:错误 WME1007:无法解析引用“程序集(名称=System.Threading.Tasks,版本=1.5.11.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a)”。
我试过的
我已经尝试了很多东西,但可能出现的主要两个是:
- 修改 WinRT 组件的 app.Config 以为程序集添加 bindingRedirect。
- 通过从内部执行的异步调用中取回 Task 对象并在其上调用 Wait(),使 PCL 调用在外部非异步。等待永远不会返回抛出一个神秘的异常。
那么,关于如何实现这一点的任何想法?
谢谢,
戴夫帕克
c# - 如何在可移植库中反序列化 JSON
你知道任何适用于可移植类库(Win RT、WP8、Silverlight 5)的 JSON 框架吗?
c# - 可移植类库和 WebRequest.ContentLength
我有一个针对“.NET for Windows Store apps”和“Windows Phone 7.5 或更高版本”的便携式类库。我发出 HTTP POST 请求,截至上周,负责后端的管理员决定我需要发送 0 的 ContentLength,而不是 .NET 默认的 -1。我使用 WebRequest 类,但我足够灵活,可以在需要时使用 HttpWebRequest。
通常我只会使用 WebRequest.Create 并设置 ContentLength 属性。在 PCL 库中,ContentLength 属性不可用。如果我尝试使用“Content-Length”键添加标题,框架会抱怨我应该只使用 ContentLength 属性。
关于如何在 PCL 中设置 ContentLength 的任何想法?
.net - 在可移植程序集中获取当前方法的 MethodInfo
我想在具有 Windows Phone 和 Windows Store 应用程序支持的便携式程序集中获取当前执行方法信息。但是,在这样的便携式组件MethodInfo.GetCurrentMethod()
中MethodBase.GetCurrentMethod()
是不可用的。如何获取当前方法的 MethodInfo?