【发布时间】:2020-04-10 21:59:59
【问题描述】:
我正在将我的程序复制到虚拟机以查看我需要哪些软件以及我需要启用(或禁用)哪些设置。我的程序在我的工作笔记本电脑和我自己的笔记本电脑(旧版本)上运行良好,但在 VM 上,程序在运行时抛出错误。
我的程序由一个可执行文件和许多 DLL 组成,可执行文件和 DLL 都能够正常启动,包括使用依赖项 system.drawing.common。但是其中一个 DLL 中的一个类给出了一个错误,即无法加载依赖项 system.drawing.common。重建有问题的 DLL 不会发出错误警告。请参阅下图了解我看到的错误。
[错误][2019 年 12 月 18 日上午 11:04:02][线程 0006]> [akka://ModulairVisionFramework/user/AcquireImageActor] 无法加载文件? 或程序集“System.Drawing.Common,版本=4.0.2.0,文化=中性,>PublicKeyToken=cc7b13ffcd2ddd51”。该系统找不到指定的文件。 原因:System.IO.FileNotFoundException:无法加载文件或程序集>'System.Drawing.Common,版本 = 4.0.2.0,文化 = 中性,>PublicKeyToken = cc7b13ffcd2ddd51'。该系统找不到指定的文件。 文件名:'System.Drawing.Common,版本=4.0.2.0,文化=中性,>PublicKeyToken=cc7b13ffcd2ddd51' 在 CameraSystem.Actors.AcquireImageActor.<.ctor>b__2_0(AcquireImage resp) 在 lambda_method(Closure , Object , Action
1 ) at Akka.Tools.MatchHandler.PartialHandlerArgumentsCapture2.Handle(T >value) 在 Akka.Actor.ReceiveActor.ExecutePartialMessageHandler(对象消息,>PartialAction`1 partialAction) 在 Akka.Actor.ReceiveActor.OnReceive(对象消息) 在 Akka.Actor.UntypedActor.Receive(对象消息) 在 Akka.Actor.ActorBase.AroundReceive(接收接收,对象消息) 在 Akka.Actor.ActorCell.ReceiveMessage(对象消息) 在 Akka.Actor.ActorCell.Invoke(信封信封)
什么原因是主可执行文件和DLL的接口都使用system.drawing.common很好,但是有问题的DLL中的一个类不能使用依赖关系?以及如何解决这个问题?到目前为止,我的工作笔记本电脑或另一台计算机(我的应用程序的旧版本,但仍使用system.drawing.common)上都没有遇到过这个问题。
编辑
在有问题的 DLL 中的两个可执行项目中,我都将 NuGet 包管理器用于system.drawing.common。包的包含方式:
<PackageReference Include="system.drawing.common" Version="4.6.0" />
【问题讨论】:
-
您可以将异常文本作为引用发布,而不是发布异常的图像吗? (文字前有
>) -
@MindSwipe 确定,正在更新帖子
标签: c# .net .net-core system.drawing akka.net