1

我编写了一个 C# 应用程序来从火线相机中获取图像。我已经安装了相机供应商的 SDK,其中包括火线驱动程序和 SDK dll (.NET)。SDK dll 在安装过程中部署在 GAC 中。

我在应用程序中引用的 SDK dll 依赖于 Microsoft.VC80.CRT v8.0.50727.6195。我将清单文件和 dll msvcr80.dll、msvcm80.dll 和 msvcp80.dll 复制到与我的应用程序相同的文件夹中,我尝试运行我的应用程序,但 .NET 运行时仍然无法找到 VCRT dll,我的应用程序正在崩溃。

我收到以下异常:“无法加载文件或程序集‘CameraSDK.dll’或其依赖项之一。应用程序无法启动,因为它的并排配置不正确。请查看应用程序事件日志或使用命令行 sxstrace.exe 工具了解更多详细信息。(来自 HRESULT 的异常:0x800736B1)。

我搜索了一下,发现我需要安装 Microsoft Visual C++ 2005 Service Pack 1 才能获得 VCRT v8.0.50727.6195。我下载并尝试安装 VCRedist 但它没有安装 dll。我的机器有 VS2008 和 VS2010,我认为 VCRedist 安装程序在我的机器上找到了一个最新版本,它跳过了安装。

如何让我的应用程序在本地目录中查找依赖的 dll?任何帮助表示赞赏。谢谢。

4

1 回答 1

0

我有一个类似的问题,来自http://www.microsoft.com/en-us/download/details.aspx?id=26347的 vcredist_x64.EXE只是没有出现在我的已安装程序列表中,尽管没有错误消息在安装过程中。我尝试了 vcredist_x86.EXE 并且成功了。

于 2013-01-24T12:50:58.050 回答