簡體   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