gpt4 book ai didi

c# - Visual Studio 无法在设计模式下加载 native dll

转载 作者:行者123 更新时间:2023-11-30 16:58:35 25 4
gpt4 key购买 nike

我有一个 C# WPF 应用程序,它使用 DllImport 加载 native C dll。 DLL 函数映射到 C# 类。

WPF 设计器尝试加载 DLL,因为窗口的 ViewModel 构造函数调用 native 函数,但找不到 DLL。

我已将 DLL 复制到输出目录,应用程序运行良好,可以调试并进入 DLL,只是设计人员提示,有时会挂起 Visual Studio。

我试过把Dll放在我的项目目录和obj目录下都无济于事。

Visual Studio 2012 尝试从哪里加载 native dll。

最佳答案

我在使用包装一些遗留 C++ 库代码的 Wrapper C++/CLI DLL 时遇到此错误,我在下面的链接中找到了一些信息。我查看了 AppData\Local\Microsoft\VisualStudio\12.0\Designer\ShadowCache 中的 C: 驱动器,我发现 VisualStudio 正在将 Wrapper DLL 复制到一系列临时文件夹中,但不是 native C++ DLL。我通过运行“Everything”实用程序进行确认,并在 ShadowCache 文件夹中的文件夹中看到了我的 DLL 副本的大量副本,其中没有一个具有 native DLL。

为了使用 Visual Studio 的设计器 View 而必须创建特殊的进程、脚本或批处理文件是一种耻辱,但据我所知,没有什么好的解决方法。

我所做的是在我的 C: 驱动器上创建一个文件夹,其中包含我当前或最终可能用 C++/CLI 实现包装的每个 native DLL,并将该文件夹添加到我的环境 PATH 语句中。此次更新后,我没有抛出异常。

Why does the WPF designer fail to load libraries that call into unmanaged DLLs?

关于c# - Visual Studio 无法在设计模式下加载 native dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25133579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com