无法加载文件或程序集"quickfix_net.dll"或其依赖项之一



(让我先抱歉,并说我已经大量研究了这个问题,我知道有很多讨论,我相信我已经尝试了大多数没有运气的建议到目前为止 - 任何帮助都非常感谢(我将尝试总结这一点,但我知道我可能必须根据您的要求填写更多细节。请对我耐心。

我使用VS2017创建了两个C#程序。两者都在我的开发环境中运行(Win 10(,但仅在我的生产环境中运行(Windows Server 2012 R2(。第二个获取标题中显示的错误。它们都是修复协议的交易计划,它从根本上使用与QuickFix_net.dll在内的FIX库相同的代码库。

我尝试使用依赖关系跟踪器,并且存在错误,但是它们在工作的程序和无效的程序之间是相同的。

我使用了fuslogvw,但显然表明所涉及的DLL已成功加载。

两个程序的CSPROJ(工作和非工作(都显示出相同的相对路径,可以在两棵树中都位于同一位置。

我看到的唯一可疑的事情是,第一个程序在某个时候创建的第一个程序显示了"混合平台"的目标体系结构,但是当创建第二个程序使用"任何CPU"时,此选项不可用。(我尝试使用X86和"任何CPU"作为失败的,没有运气的失败。

几天后,我基本上是想法。如果有人有任何想法,请告诉我什么代码/日志文件/配置或您可能想看到的任何内容。非常感谢您提前任何帮助....谢谢。

添加 - 为了简化问题描述,此程序启动良好,并在任何Windows 10台式机上找到并加载DLL。它在基于服务器的Windows OS(2012/16等(上失败。我只需要远程运行。真的很感谢您的帮助。

更多信息 - 我尝试在Azure上设置VM,该VM在笔记本电脑上具有完整的Win 10台式机安装,但我仍然无法加载DLL。真正令人困惑...

以下是fuslogvw.exe的输出。如您所见,装配负载似乎成功

         *汇编活页夹日志条目(5/10/2019 @ 7:38:37 AM( * 
        

操作成功。绑定结果:HR = 0x0。操作成功完成。

汇编经理从:C: Windows Microsoft.net Framework V4.0.30319 Clr.dll在下运行可执行C: Trading Trailer Trailer Trailer Trailer bin x86 Release Trailer.exe---详细的错误日志如下。

=== pre-bind状态信息=== log:displayName = quickfix_net,版本= 1.0.3748.13264,文化=中性,publickeytoken = null(完全指定(日志:appbase =文件:///c:/trading/trifer/trialer/trialer/bin/x86/repares/log:初始privatePath = null日志:动态base = null日志:缓存base =null日志:appName = trialer.exe调用汇编:fixwrapper,版本= 1.0.0.0,文化=中性,publicKeyToken = null。=== log:此绑定在默认加载上下文中开始。日志:使用应用程序配置文件:C: Trading Trailer Trailer Trailer Trailer bin x86 Release Trailer.exe.config日志:使用主机配置文件:日志:使用计算机配置文件C: Windows Microsoft.net Framework V4.0.30319 config Machine.config。日志:此时尚未将策略应用于参考(私有,定制,部分或基于位置的组件绑定(。日志:尝试下载新URL文件:///c:/trading/trailer/trailer/trailer/bin/x86/release/quickfix_net.dll。日志:汇编下载成功。尝试设置文件:C: Trading Trailer Trailer Trailer Trailer bin x86 Release Quickfix_net.dll日志:输入从源源设置阶段。日志:汇编名称是:quickfix_net,版本= 1.0.3748.13264,文化=中性,publicKeyToken = null日志:绑定成功。返回组件C: Trading Trailer Trailer Trailer Trailer bin x86 Release Quickfix_net.dll。日志:汇编在默认加载上下文中加载。

希望我能发表评论,但是我只能发布答案,直到获得足够的积分为止。使用第三方库时,我也有类似的问题。我发现,如果库为32位,使用任何CPU可能会引起问题。在项目的属性页面中,检查是否在"构建"选项卡下检查了优先32位标志。

最新更新