﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Прошу помощи с контейнеризацией</title>
  <id>~/topic/14971/proshu-pomoshshi-s-konteinerizatsiei/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T14:04:00Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=14971" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/54722/</id>
    <title type="text">Кстати, я даже попробовал установить все версии vcredist в контейнер, не помогло. </title>
    <published>2021-01-11T11:26:17Z</published>
    <updated>2021-01-11T11:26:17Z</updated>
    <author>
      <name>Павел</name>
      <uri>https://stocksharp.com/users/114168/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Кстати, я даже попробовал установить все версии vcredist в контейнер, не помогло.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/54705/</id>
    <title type="text">Еще может надо копать в сторону Docker + C++ MSVC, так как есть подозрение что transaqxml.dll это ис...</title>
    <published>2021-01-09T18:45:51Z</published>
    <updated>2021-01-11T01:46:33Z</updated>
    <author>
      <name>Sprite</name>
      <uri>https://stocksharp.com/users/104190/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Еще может надо копать в сторону Docker + C++ MSVC, так как есть подозрение что transaqxml.dll это использует.
&lt;a href="https://devblogs.microsoft.com/cppblog/using-msvc-in-a-docker-container-for-your-c-projects/" target="_blank"&gt;https://devblogs.microsoft.com/cppblog/using-msvc-in-a-docker-container-for-your-c-projects/&lt;/a&gt;
Но я не знаю и сам не пробовал.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/54702/</id>
    <title type="text">Такая же ошибка возникает если завернуть приложение в UWP Попробуйте жестко задать путь к txmlconnec...</title>
    <published>2021-01-09T17:13:24Z</published>
    <updated>2021-01-11T01:46:32Z</updated>
    <author>
      <name>Sprite</name>
      <uri>https://stocksharp.com/users/104190/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Такая же ошибка возникает если завернуть приложение в UWP
Попробуйте жестко задать путь к txmlconnector.dll
&lt;a href="https://doc.stocksharp.ru/html/P_StockSharp_Transaq_TransaqMessageAdapter_DllPath.htm"&gt;https://doc.stocksharp.ru/html/P_StockSharp_Transaq_TransaqMessageAdapter_DllPath.htm&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/54703/</id>
    <title type="text">sprite: Такая же ошибка возникает если завернуть приложение в UWP Попробуйте жестко задать путь к tx...</title>
    <published>2021-01-09T17:46:52Z</published>
    <updated>2021-01-09T17:46:52Z</updated>
    <author>
      <name>Павел</name>
      <uri>https://stocksharp.com/users/114168/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(54702)" rel="nofollow" target="_blank"&gt;sprite&lt;/a&gt;:&lt;/strong&gt;
Такая же ошибка возникает если завернуть приложение в UWP
Попробуйте жестко задать путь к txmlconnector.dll
&lt;a href="https://doc.stocksharp.ru/html/P_StockSharp_Transaq_TransaqMessageAdapter_DllPath.htm"&gt;https://doc.stocksharp.ru/html/P_StockSharp_Transaq_TransaqMessageAdapter_DllPath.htm&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Спасибо за наводку!&lt;/p&gt;
&lt;p&gt;Но не помогло. Попробовал принудительно задать абсолютный и относительные пути, разные варианты с косыми и прямыми чертами, пробовал заранее копировать dll в контейнер. Не помогло :(.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/54701/</id>
    <title type="text">Автора первого полезного ответа ждет вознаграждение. </title>
    <published>2021-01-09T14:07:01Z</published>
    <updated>2021-01-09T14:07:01Z</updated>
    <author>
      <name>Павел</name>
      <uri>https://stocksharp.com/users/114168/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Автора первого полезного ответа ждет вознаграждение.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/54700/</id>
    <title type="text">Здравствуйте! Написал робота на последней версии S#. Использую Transaq Connector. Пытаюсь завернуть ...</title>
    <published>2021-01-09T13:58:31Z</published>
    <updated>2021-01-09T14:06:07Z</updated>
    <author>
      <name>Павел</name>
      <uri>https://stocksharp.com/users/114168/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Здравствуйте!&lt;/p&gt;
&lt;p&gt;Написал робота на последней версии S#. Использую &lt;em&gt;Transaq Connector&lt;/em&gt;. Пытаюсь завернуть приложение в контейнер Docker. Локально, без контейнера, все работает отлично. Но при попытке соединения в приложении в контейнере выдает ошибку. Приходит exception на событие &lt;em&gt;Connector.ConnectionError:&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Error load library txmlconnector.dll. (Parameter 'dllPath')
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;   at Ecng.Interop.Marshaler.LoadLibrary(String dllPath)
   at Ecng.Interop.DllLibrary..ctor(String dllPath)
   at #=z$v7B9Iu3PqOtBWiwGjTeuTIBQG7A..ctor(String #=zWUnOCRY=, #=zGon05jN$zqu0 #=z$SosFX8=)
   at #=zfFAR89tKbzSwRbMRwZT08jN8htD7UjYzvw==..ctor(Action`1 #=z$SosFX8=, Action`1 #=zuVX1g4Bj32l1, String #=zWUnOCRY=, Boolean #=z1BrZqexflzIZ, Boolean #=zpNZ3xedpXleK, String #=zEYFvlw2lUDMt, ApiLogLevels #=z9eSLFMNKlQa7)
   at StockSharp.Transaq.TransaqMessageAdapter.#=zAxO2KDE=()
   at StockSharp.Transaq.TransaqMessageAdapter.OnSendInMessage(Message message)
   at StockSharp.Messages.MessageAdapter.SendInMessage(Message message)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;Dockerfile&lt;/em&gt; стандартный:&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code&gt;
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
WORKDIR C:/app

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR C:/src
COPY [&amp;quot;OrdersExecutor.csproj&amp;quot;, &amp;quot;&amp;quot;]
RUN dotnet restore &amp;quot;./OrdersExecutor.csproj&amp;quot;
COPY . .
WORKDIR &amp;quot;C:/src/.&amp;quot;
RUN dotnet build &amp;quot;OrdersExecutor.csproj&amp;quot; -c Release -o C:/app/build

FROM build AS publish
RUN dotnet publish &amp;quot;OrdersExecutor.csproj&amp;quot; -c Release -o C:/app/publish

FROM base AS final
WORKDIR C:/app
RUN dir
COPY --from=publish C:/app/publish .
ENTRYPOINT [&amp;quot;dotnet&amp;quot;, &amp;quot;OrdersExecutor.dll&amp;quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Пробовал запускать на разных runtime (nano, core), не помогает. Код, собранный в конейнере (и выдернутый из него), запускается на локальной машине отлично. Т.е. проблема именно в среде выполнения и методе загрузки &lt;em&gt;txmlconnector.dll&lt;/em&gt;. Исходников &lt;em&gt;Ecng.Interop&lt;/em&gt;, чтобы подсмотреть, у меня нет и я не знаю куда копать. Помогите!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>