<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I think the assembly names are QuickFix.FIX44 etc, so it'd need to be .StartsWith("QuickFix."), but other than that, yes, I think that should resolve it.
<span id=""></span></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Quickfixn <quickfixn-bounces@lists.quickfixn.com> on behalf of Grant Birchmeier <gbirchmeier@connamara.com><br>
<b>Sent:</b> 13 July 2020 15:38<br>
<b>To:</b> Mailing list for QuickFIX/n <quickfixn@lists.quickfixn.com><br>
<b>Subject:</b> Re: {{Quickfixn}} Exception while processing the FIX messages</font>
<div> </div>
</div>
<div><b><span style="color:red">[CAUTION] EXTERNAL EMAIL</span> <span style="color:white">
..</span> <br>
<br>
</b>
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div class="x_gmail_default" style="font-size:small; color:rgb(0,0,0)">Ohhhhhh..... my god.</div>
<div class="x_gmail_default" style="font-size:small; color:rgb(0,0,0)"><br>
</div>
<div class="x_gmail_default" style="font-size:small; color:rgb(0,0,0)">Campbell, I think you are right. Looking again at Raju's stacktrace, and it does originate in QF/n. I was hasty.</div>
<div class="x_gmail_default" style="font-size:small; color:rgb(0,0,0)"><br>
</div>
<div class="x_gmail_default"><font color="#000000">Here's the code in question:</font><br>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> var factoryTypes = assemblies</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> .SelectMany(assembly => assembly.GetExportedTypes())</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> .Where(IsMessageFactory)</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> .ToList();</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"><br>
</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small">Where assemblies is defined (and where I've added a potential fix):</div>
<div class="x_gmail_default">
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> var assemblies = AppDomain</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> .CurrentDomain</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"> .GetAssemblies()</div>
<div class="x_gmail_default"><font color="#000000"> .W</font>here(assembly => !assembly.IsDynamic)<br>
<div class="x_gmail_default" style="color:rgb(0,0,0)"></div>
<span style="color:rgb(0,0,0)"> </span><b><font color="#000000">.Where(assembly => assembly.GetName().Name.StartsWith("QuickFIXn"))</font> // FIX?</b><br>
.ToList()</div>
</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small"><br>
</div>
<div class="x_gmail_default" style="color:rgb(0,0,0); font-size:small">I think that bold part might fix the issue. What do you think, Campbell?</div>
</div>
<div class="x_gmail_default" style="font-size:small; color:rgb(0,0,0)"><br>
</div>
<div class="x_gmail_default" style="font-size:small; color:rgb(0,0,0)"><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Mon, Jul 13, 2020 at 9:04 AM Campbell Wild <<a href="mailto:Campbell.Wild@ihsmarkit.com">Campbell.Wild@ihsmarkit.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
We had a very similar issue to this.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
The problem is that the QuickFIX/n library now <span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline">
dynamically scans all the<span> </span></span><span style="margin:0px; font-family:Calibri,sans-serif; background-color:rgb(255,255,255)">static</span><span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline"><span> </span>DLLs
in the product to see which ones expose a return type of DefaultMessageFactory. This seems pretty bad form to me, as it causes all libraries to load, and throws errors at the point where QuickFIX/n loads the default message factory instead of where that library
is actually required.</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline"><br>
</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline">In our case, we were developing in 32-bit, and we had a DLL that accessed a third-party 64 bit DLL, and so I couldn't start up QuickFIX until I developed in 64 bit
mode.</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline"><br>
</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline">My view is that GetMessageFactories should only be scanning the QuickFIX DLLs, and *NOT* all DLLs in the product, to see which ones return the DefaultMessageFactory
type. </span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline"><br>
</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Calibri,sans-serif; background-color:rgb(255,255,255); display:inline">Campbell</span></div>
<div id="x_gmail-m_-6350354335750215480appendonsend"></div>
<hr style="display:inline-block; width:98%">
<div id="x_gmail-m_-6350354335750215480divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Quickfixn <<a href="mailto:quickfixn-bounces@lists.quickfixn.com" target="_blank">quickfixn-bounces@lists.quickfixn.com</a>>
on behalf of Grant Birchmeier <<a href="mailto:gbirchmeier@connamara.com" target="_blank">gbirchmeier@connamara.com</a>><br>
<b>Sent:</b> 13 July 2020 14:25<br>
<b>To:</b> Mailing list for QuickFIX/n <<a href="mailto:quickfixn@lists.quickfixn.com" target="_blank">quickfixn@lists.quickfixn.com</a>><br>
<b>Subject:</b> Re: {{Quickfixn}} Exception while processing the FIX messages</font>
<div> </div>
</div>
<div><b><span style="color:red">[CAUTION] EXTERNAL EMAIL</span> <span style="color:white">
..</span> <br>
<br>
</b>
<div>
<div dir="ltr">This has nothing to do with QF/n. Your app can't find the "WeifenLuo.WinFormsUI.Docking" library<span style="font-size:small; color:rgb(0,0,0)">.</span></div>
<br>
<div>
<div dir="ltr">On Thu, Jul 9, 2020 at 1:35 PM Veduruparthi Raju <<a href="mailto:rveduruparthi@gmail.com" target="_blank">rveduruparthi@gmail.com</a>> wrote:<br>
</div>
<blockquote style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">Hello,
<div><br>
</div>
<div>I am using the QuickFix version 1.9 and using the below dll's in my project connecting to different exchanges one supporting the FIX44 and the other FIX50SP2.</div>
<div>I am seeing the following exception while processing the messages.</div>
<div>Does that assembly have anything to do with the quickfix engine I am using ?</div>
<div>BTW i am using the .NET Framework 4.7.</div>
<div>Appreciate any insight into this.</div>
<div><br>
</div>
<div>QuickFix.dll<br>
</div>
<div>QuickFix.FIX50SP2.dll<br>
</div>
<div>QuickFix.FIX44.dll<br>
</div>
<div><br>
</div>
<div><b>Exception:</b></div>
<div>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
System.IO.FileNotFoundException: Could not load file or assembly 'WeifenLuo.WinFormsUI.Docking, Version=3.0.4.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481' or one of its dependencies. The system cannot find the file specified.</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
File name: 'WeifenLuo.WinFormsUI.Docking, Version=3.0.4.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481'</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at System.Reflection.RuntimeAssembly.GetExportedTypes()</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at QuickFix.DefaultMessageFactory.GetMessageFactories(IEnumerable`1 assemblies)</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
at QuickFix.DefaultMessageFactory..ctor(String defaultApplVerId)</p>
</div>
<div><br clear="all">
<div>Thanks,<br>
</div>
<div dir="ltr">
<div>--Raju.v</div>
</div>
</div>
</div>
_______________________________________________<br>
Quickfixn mailing list<br>
<a href="mailto:Quickfixn@lists.quickfixn.com" target="_blank">Quickfixn@lists.quickfixn.com</a><br>
<a href="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.quickfixn.com%2Flistinfo.cgi%2Fquickfixn-quickfixn.com&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7C4d3c4067876f4068fa5e08d8273a76ff%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302479351640456&sdata=HAoXiUmYVLYZHSuuPTZqo7TcGRAXNsfDjcc%2BOxVwkFg%3D&reserved=0" originalsrc="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com" shash="yHcAhxNgxoZSLG7uAa2wgeCuHhlT6+le1ycBlrxuapNBaDj22qV8P8ckiueg8VpMjYLrP6QCYKLKLzwxSEtFixKCvBJb3FfUEVAmGM67SoCCSWyG5hoq5JgAqlVTUyVPtgvDsRQ3JP82UyxyYxr3EAknW6RBBVWGeN2nuukATtI=" rel="noreferrer" target="_blank">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div><font size="2"><span style="background-color:rgb(0,0,0)"><span style="background-color:rgb(255,255,255)">Grant Birchmeier</span></span></font><font size="2"><font color="#3333ff"><br>
</font></font></div>
<div><font size="2"><b><font color="#3333ff"><span style="background-color:rgb(255,204,51)"><span style="background-color:rgb(255,204,102)"><span style="background-color:rgb(255,204,153)"><span style="background-color:rgb(255,255,255)"><span style="background-color:rgb(255,204,0)">Connamara
Systems, LLC</span></span></span></span></span></font></b></font><br>
</div>
<div><font size="2"><b>Made-To-Measure Trading Solutions.</b></font></div>
<div><font size="2">Exactly what you need. No more. No less.</font><font size="2"><b><font color="#3333ff"><br>
</font></b></font></div>
<div><font size="2"><a href="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fconnamara.com%2F&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7C4d3c4067876f4068fa5e08d8273a76ff%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302479351650454&sdata=nRjRLLiHeDdTLuaGRkTAoKuRYIHNaw7hD%2FFQb%2FVNo0g%3D&reserved=0" originalsrc="http://connamara.com/" shash="jm9SaHwuoOzayM+SwDE8iGC60aLAuJwYaRu//RKwaM5U0n++/TqG6s93GeGEvOGdZZabmxOate+mvpbu3PNiZJrwJ155WpXrDWxL3EgUWx8g7IzCmhpt1Focgoinp5OaPGPBzYMgv78VpbypNypxCjaLM8BjTBEXrwIaBU2haGc=" target="_blank">http://connamara.com</a><br>
</font></div>
</div>
<br>
<span style="color:rgb(29,28,29); font-family:Slack-Lato,appleLogo,sans-serif; white-space:pre-wrap; background-color:white"><font size="2">This email, along with any attachments, is confidential. If you believe you received this message in error, please contact
the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC.</font></span></div>
</div>
<br>
<hr>
<font face="Arial" color="Black" size="1"><br>
This e-mail, including accompanying communications and attachments, is strictly confidential and only for the intended recipient. Any retention, use or disclosure not expressly authorised by IHSMarkit is prohibited. This email is subject to all waivers and
other terms at the following link: <a href="https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fihsmarkit.com%2FLegal%2FEmailDisclaimer.html&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7C4d3c4067876f4068fa5e08d8273a76ff%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302479351650454&sdata=exkRFeVEipXUkOlxcRoCYzB044lfmt8r%2FB%2FxAPXVM%2BE%3D&reserved=0" originalsrc="https://ihsmarkit.com/Legal/EmailDisclaimer.html" shash="pcDVpkaT2pRLlmImI3STvzlhmi7xcbejFjBgM5uatYSfcpkLmdHZ81ghGr3LIvexFFFYrThSrMvMIKUnZHpmwhEkkvSgnvpPRpdlcccjE8JlyswC5OJGFJ5eKEAWOfU2em9uqGFpgpWZawVWfADhpM2rSCf87z0BDKjLpl7q+rM=" target="_blank">
https://ihsmarkit.com/Legal/EmailDisclaimer.html</a><br>
<br>
Please visit <a href="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ihsmarkit.com%2Fabout%2Fcontact-us.html&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7C4d3c4067876f4068fa5e08d8273a76ff%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302479351660448&sdata=roAzdMO59jmXdPQw8bCp24Y2amYbwCWeWb28p8T5kIQ%3D&reserved=0" originalsrc="http://www.ihsmarkit.com/about/contact-us.html" shash="oAZNUS/+I5gqsUKwA4ZyJoBV7RAy8lHNG+cp1xj+kKEGFgzdu8BBQhQRHVKbOTZwkWTLzcheUjGIRHI8H8tpxmTekpmKou56EsO58LEx7cFwdSlhBCA5t3xUWN9HzHR3cLCTK+skp4Z7AIuMZPIN33bujFZjDH3hmDl4lnvaT34=" target="_blank">
www.ihsmarkit.com/about/contact-us.html</a> for contact information on our offices worldwide.<br>
</font></div>
_______________________________________________<br>
Quickfixn mailing list<br>
<a href="mailto:Quickfixn@lists.quickfixn.com" target="_blank">Quickfixn@lists.quickfixn.com</a><br>
<a href="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.quickfixn.com%2Flistinfo.cgi%2Fquickfixn-quickfixn.com&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7C4d3c4067876f4068fa5e08d8273a76ff%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302479351660448&sdata=qdDscAppM7tptrj4sDxeGjHuTg%2BKPUUbM57PHHVQgqQ%3D&reserved=0" originalsrc="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com" shash="LF8R8EW2VVS3eQhwgCLap8SwVOn37V4AVBUZMOFDp0Oe3i/cey/ZxgY9XWlLj0Eksg0kvFpVirhd/wevkttTrufIdc2a1CIZxQfLOCnHj7BbISq/oQbYiAQXgIoYfhKX5CPTRAdWyR8GOH2p1iCh8jVN4Cnwcp356qMhuxeMvEo=" rel="noreferrer" target="_blank">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr" class="x_gmail_signature">
<div><font size="2"><span style="background-color:rgb(0,0,0)"><span style="background-color:rgb(255,255,255)">Grant Birchmeier</span></span></font><font size="2"><font color="#3333ff"><br>
</font></font></div>
<div><font size="2"><b><font color="#3333ff"><span style="background-color:rgb(255,204,51)"><span style="background-color:rgb(255,204,102)"><span style="background-color:rgb(255,204,153)"><span style="background-color:rgb(255,255,255)"><span style="background-color:rgb(255,204,0)">Connamara
Systems, LLC</span></span></span></span></span></font></b></font><br>
</div>
<div><font size="2"><b>Made-To-Measure Trading Solutions.</b></font></div>
<div><font size="2">Exactly what you need. No more. No less.</font><font size="2"><b><font color="#3333ff"><br>
</font></b></font></div>
<div><font size="2"><a href="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fconnamara.com%2F&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7C4d3c4067876f4068fa5e08d8273a76ff%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302479351670443&sdata=sDx0rjhXeTTReWjdSCR6RYAeUDZZlIH0Q9%2FRYt2dWnc%3D&reserved=0" originalsrc="http://connamara.com/" shash="wa/MPKUbvVu4xe9tiq2U3t2Kwiz4kyBgrLajGDAVQa1PWw05z9r3l5ow1Rpi4xosEJq8O9ky9F67BfwNQyg3jQ20fxLQiUSXi0MfEr/TTQZw/+mn9YlpAIHPGI52P8kIkrYhb0cB/1zxfejANCH5ayI+SvRm1/TFPir6nxhWouA=" target="_blank">http://connamara.com</a><br>
</font></div>
</div>
<br>
<span style="color:rgb(29,28,29); font-family:Slack-Lato,appleLogo,sans-serif; white-space:pre-wrap; background-color:white"><font size="2">This email, along with any attachments, is confidential. If you believe you received this message in error, please contact
the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC.</font></span></div>
</div>
<br>
<hr>
<font face="Arial" color="Black" size="1"><br>
This e-mail, including accompanying communications and attachments, is strictly confidential and only for the intended recipient. Any retention, use or disclosure not expressly authorised by IHSMarkit is prohibited. This email is subject to all waivers and
other terms at the following link: https://ihsmarkit.com/Legal/EmailDisclaimer.html<br>
<br>
Please visit www.ihsmarkit.com/about/contact-us.html for contact information on our offices worldwide.<br>
</font>
</body>
</html>