33

Возможно ли установить любую версию Visual Studio в Windows Container на Windows Server?Возможно ли установить Visual Studio в Контейнер Windows

Мотивация заключается в использовании Контейнеров Windows для создания программного обеспечения в системах непрерывной интеграции, чтобы стандартная среда сборки была стандартизована.

+0

Вам удалось найти удовлетворительный ответ на этот вопрос? –

ответ

2

Имеет смысл запускать IDE внутри контейнера, если вы хотите упростить настройку рабочей среды для разработчиков.

Вы можете запустить код Visual Studio внутри контейнера (https://grigio.org/visual_studio_code_docker/) или Eclipse (https://rgrunber.wordpress.com/2016/01/26/eclipse-inside-a-docker-container/). Визуальная студия должна работать довольно похожей.

+3

Вопрос относится к контейнерам Windows (возможно, под докером) и Visual Studio (без кода), а не к контейнерам докеров Linux и Visual Studio Code. – Claudiu

7

Visual Studio кажется to not be supported officially на Core Server, но я согласен, было бы очень приятно, если вы это сделаете. Давайте попробуем:

FROM microsoft/windowsservercore:10.0.14393.1715 
SHELL ["powershell"] 

RUN Invoke-WebRequest "https://aka.ms/vs/15/release/vs_community.exe" -OutFile "$env:TEMP\vs_community.exe" -UseBasicParsing 
RUN & "$env:TEMP\vs_community.exe" --add Microsoft.VisualStudio.Workload.NetWeb --quiet --wait --norestart --noUpdateInstaller | Out-Default 

RUN & 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe' /version 

CMD ["powershell"] 

(я выдвигаю это изображение в lukaslansky/visualstudio-netwebworkload, следует использовать с осторожностью.)

Вывод билде:

[...] 
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework 
Copyright (C) Microsoft Corporation. All rights reserved. 

Так что это, кажется, работает! Вам следует поиграть с этими аргументами установщика --add, чтобы указать, какие компоненты вам нужны именно для вашей сборки, они соответствуют рабочим нагрузкам и компонентам, которые вы видите в графическом интерфейсе. See the documentation.

1

Контейнеры Windows в настоящее время не включают графические приложения. Ограничение на Microsoft, а не на Docker.

Например, попробуйте что-то простое, например, запустить Блокнот (в контейнере ядра Windows Server). Процесс запущен, но графический интерфейс не появляется.

Notepad launched, but no GUI shows up

0

Просто для записи MS не планирует поддержку VS внутри контейнеров, лучшая альтернатива, что у вас есть MSBuild. Несколько месяцев назад было возможно, но с последней версией от VS невозможно. Источник: vsts-agents

Смежные вопросы