У меня есть машина сборки TeamCity с установленными инструментами сборки VS2017. Проблема в том, что я не вижу «ASP.NET MVC 4», установленного в папке «c:\Program Files (x86)\Microsoft ASP.NET». Сборки необходимы для создания проекта, который ссылается, например. Пространство имен System.Web.Http. При сборке я получаю именно такие ошибки.
При запуске Visual Studio Build Tools 2017 на машине сборки TeamCity у меня установлены следующие рабочие нагрузки:
На вкладке отдельных компонентов не указан ASP.NET MVC напрямую, но у меня установлены «Расширенные функции ASP.NET.
Нужно ли мне устанавливать какой-либо внешний компонент, чтобы включить сборку ASP.NET MVC 4 на моей сборочной машине? Или, может быть, он включен только в продукт «Visual Studio Professional 2017», а не в «Инструменты сборки Visual Studio 2017»?
Может быть дело в том, что установка сломана? (Папка Microsoft ASP.NET содержит «ASP.NET Web Stack 5», но, как было сказано ранее, весь «ASP.NET MVC 4» отсутствует).
Спасибо, Радек
У меня нет nuget на моей локальной машине разработки, и он отлично строится с установленным VS2017 Pro, так что это определенно не так.
Это будет потому, что у вас уже есть автономная версия ASP.NET MVC 4, уже установленная на вашем компьютере разработчика. В идеале вы должны удалить его и использовать пакет nuget, поскольку он будет более переносимым, и ваша служба сборки сможет автоматически установить nuget для сборки. Если вы полагаетесь на установку автономной версии на сервере сборки, вы, вероятно, снова столкнетесь с этой проблемой всякий раз, когда будете добавлять новый сервер сборки.
Я не знаком с Visual Studio Build Tools 2017. Но вы можете попробовать установить автономный пакет ASP.NET MVC 4:
https://docs.microsoft.com/en-us/aspnet/mvc/mvc4
Да, он работает и для VS2017, несмотря на то, что написано, что он предназначен для VS2010. Большое спасибо.
Это работает и для vs2019. Установка mvc4 через установщик Visual Studio у меня не сработала, но сработала эта автономная установка. Потратил час или около того на это.
Вероятно, вам следует ссылаться на последнюю версию Пакет Nuget ASP.NET MVC версии 4 в соответствующем проекте и обновлять проект, чтобы ссылаться на сборки пакетов nuget.