gpt4 book ai didi

c# - FileNotFoundException - 动态发现

转载 作者:行者123 更新时间:2023-11-28 20:33:10 25 4
gpt4 key购买 nike

我希望这是一个相当简单的问题,但我还没有设法在 Google 上找到有效的答案...

我在 C# 测试上下文中工作,并且正在引用一个托管 C++ DLL,该 DLL 然后引用普通的 C++ 程序集。当我尝试运行我的测试时,我得到一个 FileNotFoundException,它没有提供有关它无法找到的文件的任何详细信息。

System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

我用 ProcMon 做了一些检查,发现它正在尝试加载一个 C++ DLL,但它正在探测所有标准位置(C:\Windows、C:\Windows\System 等)。有没有一种方法可以将其重定向以包含一个额外的文件夹,我们所有的二进制文件都构建到该文件夹​​中?

我猜 AppDomain 上有一些东西,但我还没有完全弄清楚要使用哪个属性,哪个属性会起作用。

最佳答案

只需将该路径添加到 Path 环境变量即可。

在 Windows 7 中:按 Windows 键,输入“environment”,选择Edit the system environment variables,选择Environment variables.. . 添加路径...

以编程方式:参见 this post .

但我认为更常见的方法是将引用的 DLL 复制到您的输出目录。即使这需要更多磁盘空间,它也能保证引用的 DLL 始终与您的 C# 应用程序兼容。如果 CVS 更新更改了 DLL,并且您没有重建 C# 应用程序,它可能不会按预期启动。

关于c# - FileNotFoundException - 动态发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8715514/

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