![](/img/trans.png)
[英].NET 4 fails to install because SECUREREPAIR fails to CreateContentHash of file SetupResources.dll: for computing hash Error: 997
[英]QuickFix for NET does not recognize BeginString or fails because of rasapi32.dll "missing"
我们正在编写 .NET 应用程序以使用 QuickFix 5.0.SP2。
有 2 个 Nuget 包可用: QuickFix.Net.NETCore.FIX50SP2和QuickFIXn.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.