- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个普通的类库,其中包含一个将字节数组转换为图像的函数。
现在我已经删除了那个类库并创建了一个同名的可移植类库,现在代码似乎不再工作并且在“FromStream”函数上给我一个错误:
Reference to type 'MarshalByRefObject' claims it is defined in 'mscorlib', but it could not be found
using System;
using System.Drawing;
using System.IO;
namespace App.Converters
{
public static class Converter
{
public static Image ToImage(this byte[] byteArray)
{
try
{
return Image.FromStream(new MemoryStream(byteArray));
}
catch
{
throw new FormatException("Data is not an image");
}
}
}
}
我的项目是针对:
这是因为我的目标框架之一不支持“某物”吗?那为什么VS让我用自动补全显示呢?
最佳答案
using System.Drawing;
这可能与您为获得此错误消息所做的操作更相关。您使用大锤来识别 using 指令。我们必须对其进行猜测,但您可能已经完成的一种方法是使用项目 > 添加引用 > 浏览按钮 > 从 c:\windows\microsoft.net 子目录中选择 System.Drawing.dll。 似乎工作得很好。
而且您可能在 mscorlib.dll 上使用了类似的大锤来识别 MarshalByRefObject。虽然这很难做到,因为 IDE 可以告诉它无效,但 mscorlib.dll 已经包含在引用集中。也许您手动编辑了项目文件,这很难猜到。
不要使用大锤。
PCL 项目已经引用了您可能使用的所有 框架程序集。它们没有单独列在项目的引用节点中,它们折叠在单个“.NET”节点中。
这样做并不是为了让你的生活变得悲惨,它确保你不会意外地使用你选择的目标之一不可用的类。在您花费数周时间编写代码、在您的开发机器上对其进行完美测试并尝试在手机上运行它之后,避免在最糟糕的时候发现。 Kaboom,不能工作。在一条小溪上,没有桨,几周就没了。
System.Drawing 仅适用于桌面计算机。同样,MBRO 仅适用于完整版的 CLR,不适用于 .NETCore 版本。不能工作,MBRO 需要远程处理,这是从 .NETCore 中删除的一个功能,使其成为“核心”。你必须找到另一种方法来完成你想做的事情。没有指导,问题不够详细。
关于c# - 可移植类库 - 对类型 'MarshalByRefObject' 的引用声称它在 'mscorlib' 中定义,但找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42132645/
我用 C# 编写了一个非常基本的 Web 服务器,它加载自定义模块来处理对配置文件中指定的特定域名的请求。自定义模块被加载到新的 AppDomain 中,因为我需要能够动态卸载它们(也有利于安全性)。
.NET 有一种称为远程处理的功能,您可以在不同的应用程序域甚至物理机之间传递对象。我不完全理解魔法是如何完成的,因此提出了这个问题。 在远程处理中,有两种传递对象的基本方法 - 要么可以序列化它们(
我有一个 .net WinForms 应用程序,它可以将插件 (dll) 加载到它们自己的 AppDomain 中,每个 dll 使用 domain.CreateInstanceAndUnwrap()
我一直在绞尽脑汁想弄清楚一些事情。所以,我正在寻找建议和研究 Material (通过链接)。场景如下: 我们有一个库(例如,CommonLib),其中包含其他几个应用程序(例如,AppA、AppB、
MarshalByRefObject 的用途是什么? 最佳答案 远程处理;这意味着在 AppDomain 或机器之间,不是序列化和传输对象,对象停留在一端,而代理在另一端创建。对代理的所有方法调用都被
在 AppDomain A 中,我有一个类型为 T 的对象 o。 T 既不是 Serializable 也不是从 MarshalByRefObject 派生的。 T 类型由我无法控制的插件主机提供。
我目前正在修改一个插件架构,以便它利用 AppDomains。我的插件与我在网上找到的许多示例之间的主要区别在于,我的主应用程序不是运行插件并将其结果发送回主应用程序,而是向插件发送信息的应用程序。
我在两个 .NET 应用程序域之间传递一些数据时遇到了一些问题,我希望这里有人可以帮助我。 基本上我拥有的是一个主应用程序 (Main),它将程序集 A 和 B 加载到它的主域中,然后当我运行插件(C
在 VS2010 C# 项目中,我们有一个从 MarshalByRefObject 派生的类,我们使用 Activator.GetObject 来设置它。我们正在使用这个派生类通过网络与一台机器对话。
我有一个案例,我必须跨 AppDomains 使用一些类。为了使它们工作,我让它们继承自 MarshalByRefObject。这些类的一切都按预期工作。但是这些类在我们的整个系统中都在使用,而且 9
各种消息来源解释说 When an object derives form MarshalByRefObject, an object reference will be passed from on
我正在尝试将 C# 应用程序移植到 .NET(客户端服务器),但遇到了序列化问题。 Linux客户端序列化and对象,Windows服务器无法反序列化,报错: System.Runtime.Seria
是否可以确定可用于转换 MarshalByRefObject 对象的接口(interface)? 强制转换运算符如何处理 MarshalByRefObject 对象?它调用 CreateObjRef
我对 .NET Remoting 中的 [Serializable] 和 :MarshalByRefObject 属性感到很困惑。但是我读了很多关于它的文章。如果我使用 [Serializable]
我试图在 stackoverflow 上找到一个解决方案,但似乎找不到一个与我的非常相似的解决方案,所以就到这里吧。我在实验室有一台计算机连接到各种设备,如平移/倾斜装置、相机和光传感器,并安装了所有
在我的 Azure Web 角色代码中,我有一个派生自 System.Security.Principal.IIdentity 的 CustomIdentity 类。在某些时候 .NET 运行时 tr
我正在开发一个需要跨 AppDomain-intra-process 和 inter-process-intra-machine 通信的项目。是的...我知道... NET Remoting 被广泛认
我正在处理我的第一个使用 AppDomains 的项目,我想知道当一个对象从 MarshalByRefObject 派生并且也被标记为 [Serializable] 时会发生什么? 例如: [Seri
如何在像 C# 这样的多继承截断语言中解决“必须是 MarshalByRefObject”? 问题很简单,在某些情况下你只需要继承这个类(基础设施要求)。在这里真的无关紧要,哪种情况。那么,如果您已经
我知道这听起来很愚蠢,但我只是好奇。我的讲师问了这个问题,我们一头雾水。 :D 最佳答案 您的讲师不正确。 foreach(var type in typeof(Uri).Assembly.GetTy
我是一名优秀的程序员,十分优秀!