Windows 10 C#应用程序将无法运行,提示CLRWrapper缺少依赖项

问题描述

我有一个WPF应用程序,可以在Windows 10 x 64开发计算机和基本Windows 10 x64 VM上正常运行。当放在客户计算机上时,出现异常提示:

DispatcherUnhandledEvent: Could not load file or assembly 'CLRWrapper.dll' or one of its dependencies. The specified module could not be found.

依赖项遍历显示以下依赖项:

  • VCRUNTIME140D.DLL

  • ucrtbased.dll

  • MSVCP140D.dll 由于失踪。将这些DLL中的任何一个放置到System32,SysWOW64或应用程序的根文件夹中都会导致以下错误:

    无法加载文件或程序集“ CLRWrapper.dll”或其依赖项之一。不是有效的Win32应用程序。 (HRESULT的异常:0x800700C1)

为什么这会导致此错误?在将这些DLL放入System32和SysWOW64文件夹中之前,该应用程序未在VM中运行。

有人有什么想法吗?

TIA, 道格

解决方法

@Nandosytle,我试图以64位应用程序运行。作为64位,它可以在我的开发系统和构建服务器上正常运行。移动Windows dll的各种调试版本可以使其在VM中运行。要使其在目标计算机上运行,​​我必须重新编译CLRWrapper及其包装为x86的代码,并将C#应用程序更改为x86。完成后,应用程序可以在目标计算机上正常运行。

还是不太清楚为什么这会使事情变得更好。抱怨奇怪,要求提供文件的调试版本。我想这可以归结为C ++正在调试和C#正在发布。虽然那真的不应该。

还是头疼的人。

道格

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...