相关疑难解决方法(0)

790
推荐指数
9
解决办法
42万
查看次数

如何将清单添加到.NET DLL?

我有一个ac#类库项目,它使用在系统上注册的COM dll.我现在想要将COM dll部署为并排程序集,因此我不必注册它,也不必干扰可能使用不同版本的dll的其他应用程序.

我已经使用add new item菜单将app.manifest添加到c#项目中,但我不确定下一步该做什么.在项目属性/应用程序/图标和清单中,清除了清单下拉列表.我不知道怎么过去.我添加了一个清单文件,为什么它不在下拉列表中?

我有一个适用于C++应用程序的COM DLL的清单,我想我保持原样.现在我需要知道如何为c#项目编辑app.manifest.我将首先添加一个已知良好的依赖元素.但我需要一个关于如何设置它的教程,我不认为它覆盖在任何地方.

我正在使用VS2008

.net dll manifest side-by-side

10
推荐指数
1
解决办法
2万
查看次数

OpenCVSharp:无法加载 DLL“OpenCvSharpExtern”

我已经在我的项目中使用 NuGet 管理器安装了最新的 OpenCVSharp 2 (2.4.10.201...)。有关 OpenCVSharp.CvMat 的所有内容都工作正常(加载、操作等),因此我确信安装是正确的。

但是我根本无法使用 OpenCVSharp.CPlusPlus!问题是它不加载 OpenCvSharpExtern.dll。

try-catch 块显示错误:

try
{
    Mat mat = new Mat();
} catch (Exception err)
{
    Console.WriteLine( err );
}

System.TypeInitializationException: The type initializer for 'OpenCvSharp.CPlusPlus.Mat' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'OpenCvSharpExtern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at OpenCvSharp.CPlusPlus.NativeMethods.core_Mat_sizeof()
   at OpenCvSharp.CPlusPlus.Mat..cctor()
   --- End of inner exception stack trace ---
   at OpenCvSharp.CPlusPlus.Mat..ctor()
   at MainClass.Main() in C:\Users\kotsias\Documents\Visual Studio 2015\Projects\MyCVSharp\ConsoleApplication1\Test.cs:line 14
Run Code Online (Sandbox Code Playgroud)

OpenCvSharpExtern.dll与我的 …

.net c# opencv

10
推荐指数
3
解决办法
2万
查看次数

为“找不到指定的模块”找到dll

我有一个调用C ++ dll的32位.Net应用程序Winform。我们将该应用程序打包到一个安装程序中,它可以在至少20台左右的计算机上安装并正常运行。该应用程序最初是开发的,可以在Win 7 x64机器(我的机器)上正常运行。

但是,当我在老板桌面(Win 7 x64)上运行它时,该应用程序将无法启动。哦耶...

当我尝试启动该应用程序时,出现一个JIT对话框

System.IO.FileNotFoundException:找不到指定的模块。(来自HRESULT的异常:0x8007007E)

当我运行时依赖于老板计算机上的exe时,它说该应用程序exe是x86,但所有依赖的dll位于x64并将其标记为错误。当我运行时,取决于我机器上的应用程序,exe和dll都标记为x86。

机器之间如何改变?安装程序只是以正常方式解包和复制,并且可以在许多其他x64机器上正常工作...

自然,只有在距离他两个小时的机器上才坏了,我们正在进行一次贸易展览。叹。很迷惑...

================已解决==================

因此,我们对其进行了修复。查找丢失的dll有点棘手。

首先,我们搞砸了,我们为x64盒运行了错误版本的depends。因此,它错误地报告了该应用程序正在寻找x64 dll。如果我们运行了正确的版本,我认为我们会早点发现此问题。

为我们解决问题的方法是查看来自System Internals 的Process Monitor日志。它记录每个文件访问和注册表读取。日志很快显示在Direct X 11 dll上读取失败。

原来,其他应用程序的先前安装程序已经安装了某些 DX11 dll。这愚弄了我们的安装程序,它跳过了DirectX 11步骤,因此我们缺少了一个dll。

感谢您的帮助!

.net c++ windows 64-bit windows-installer

3
推荐指数
1
解决办法
5289
查看次数