繁体   English   中英

QuickFix for NET 无法识别 BeginString 或因 rasapi32.dll“缺失”而失败

[英]QuickFix for NET does not recognize BeginString or fails because of rasapi32.dll "missing"

我们正在编写 .NET 应用程序以使用 QuickFix 5.0.SP2。

有 2 个 Nuget 包可用: QuickFix.Net.NETCore.FIX50SP2QuickFIXn.FIX5.0SP2

使用QuickFIXn.FIX5.0SP2时 - 启动器在开发人员机器上工作正常,在测试机器上,但无法在生产机器上连接,出现DLLNotFoundException "Unable to load 'rasapi32.dll'" ,尽管 rasapi32.dll 确实存在于机器。

使用QuickFix.Net.NETCore.FIX50SP2时 - 启动器在所有机器上加载并连接,但不能接受除管理消息之外的任何消息。 任何 App 消息都会强制它使用“Unsupported BeginString”消息注销。

这是我尝试发送和接收的示例消息(QuoteRequest)

8=FIXT.1.1|9=0332|35=R|49=ABC|56=DEF|34=172|52=20201103-13:06:01.420|1180=xxxxxx|1181=6183|60=20201103-13:06:00.985483|131=1604393423979-735|146=1|55=EUR/USD|63=SPOT|15=EUR|54=0|38=5000000|453=4|448=ST_TEST_BU2|447=D|452=500|2376=18|448=x.abc.sales|447=D|452=11|2376=24|448=X_TEXT|447=D|452=3|2376=24|448=X_ACCOUNT2|447=D|452=24|2376=18|10=163|

启动器设置:

[SESSION]
AppDataDictionary=FIX50SP2.xml
StartTime=00:00:00
EndTime=23:59:59
BeginString=FIXT.1.1
SenderCompID=DEF
TargetCompID=ABC
HeartBtInt=30
DefaultApplVerID=FIX.5.0SP2
TransportDataDictionary=FIXT11.xml

接受者设置:

[SESSION]
AppDataDictionary=FIX50SP2.xml
StartTime=00:00:00
EndTime=23:59:59
BeginString=FIXT.1.1
SenderCompID=ABC
TargetCompID=DEF
HeartBtInt=30
DefaultApplVerID=FIX.5.0SP2
TransportDataDictionary=FIXT11.xml

您的程序在运行时找不到名为rasapi32.dll的 Windows 动态库(在.Net 中称为程序集)。 该文件很可能是您的程序直接链接的另一个库的依赖项。 我猜是 QuickFix 库。

如果您可以在计算机上的某个位置找到rasapi32.dll ,则可以将其路径添加到 PATH 环境变量或将其复制到程序的工作目录。 最好使用 PATH 环境变量,以防此库在其自己的目录中需要其他环境变量。

或者,您可以使用一个名为depends的程序来遍历程序的库依赖关系树,它将指示您的程序需要哪个库,而这又需要rasapi32.dll

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM