#c# #visual-studio #winforms #docker
#c# #visual-studio #winforms #docker
Вопрос:
У меня есть проект Windows Forms в Visual Studio 17, который использует Microsoft.VisualStudio.DebuggerVisualizers.dll
, который находится в C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEPublicAssemblies
папке.
В .csproj
файле (формат csproj 2015) ссылка указана следующим образом:
<Reference Include="Microsoft.VisualStudio.DebuggerVisualizers, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
(Если я переключусь на .csproj
версию 2017, и даже ссылка останется прежней, проект не будет компилироваться даже локально.)
Я пытаюсь скомпилировать проект внутри Docker, но он не находит DLL. Какой компонент Visual Studio я должен установить, чтобы также получить эту DLL?
Комментарии:
1. какой тип проекта вы создаете?
2. Я пытаюсь создать проект Windows Form.
3. Это компонент Visual Studio, который обычно используется только расширениями VS. Зачем вам это нужно в приложении WinForms и в Docker?
4. Это устаревший проект в моей компании. Я предполагаю, что он показывает сложные графики, построенные в нашем коде. Это внутренний инструмент.
5. вы установили Visual Studio sdk в свой контейнер?
Ответ №1:
В свойствах ссылки вы можете установить для Copy Local
параметра значение true, чтобы указанная сборка была скопирована в целевой каталог «bin». Загрузчик сборки выполняет поиск в библиотеках DLL в той же папке, что и исполняемая сборка, и только позже в GAC (процесс более сложный, но этого должно быть достаточно для ваших целей).