Создайте ASP.NET 4.5 без Visual Studio на сервере сборки

Прошло некоторое время с тех пор, как я установил сервер сборки, возможно, я что-то забыл или, возможно,.NET 4.5 отличается от любой версии, которую я сделал с прошлым, но вот моя проблема.

Я пытаюсь настроить сервер сборки для мониторинга репозитория управления версиями. Всякий раз, когда что-то меняется, я хочу, чтобы сервер извлекал изменения и строил проект. Если ошибок нет, я хочу развернуть сайт на веб-сайт, запущенный на сервере сборки.

В прошлом, когда я это делал, я думал, что смог сделать это только с установленной .NET, но когда я попытаюсь создать этот проект, я получаю сообщение об ошибке "C:\Program Files\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" отсутствует, и если я пойду и посмотрю, я вижу, что он отсутствует. На самом деле нет файлов целей Visual Studio 11.

После долгих мыслей и головных царапин я вышел и получил "Windows 8/.NET 4.5 SDK", полагая, что .NET 4.5 SDK может установить файлы целевых файлов, которые мне нужны, но это не произошло, если я не установил это неправильно как-то.

Итак, что мне нужно, чтобы разместить на сервере сборки, чтобы получить проект для сборки. Я бы предпочел не устанавливать полную версию Visual Studio 2012.

Ответ 1

Моя проблема была связана с установкой пакета для разработки Windows (SDK) для Windows 8 в окне Windows 2008. Если вы прочтете дальше на странице, вы попадете в заголовок с надписью ".NET Framework 4.5 SDK Tools в Windows Vista и Windows Server 2008." Это говорит вам:

  • Запустите Windows SDK для установщика Windows 8 в поддерживаемой операционной системе (например, Windows 7 или Windows 8).
  • Выберите на экране "Укажите местоположение" следующую опцию: Загрузите SDK Windows для установки на отдельный компьютер.
  • Нажмите кнопку "Далее".
  • Ответьте на вопросы на экране "Присоединитесь к программе улучшения качества обслуживания клиентов" (CEIP).
  • На следующем экране выберите .NET Framework 4.5 Software Development Kit. Отмените выбор всех других функций, которые нельзя отменить.
  • Выберите кнопку "Загрузить".
  • Перейдите в папку загрузки (указанную на шаге 2) и найдите следующие файлы установщика инструментов .NET Framework 4.5 SDK: sdk_tools4.msi, sdk_tools4.cab
  • Вы можете скопировать эти файлы на компьютер под управлением Windows Vista или Windows 2008 Server в своей организации. Эти файлы необходимо скопировать в тот же каталог на компьютере под управлением Windows Vista или Windows 2008 Server. Примечание. Не распространяйте эти файлы вне вашей организации или как часть любого другого установщика.
  • На компьютере с Windows Vista или Windows 2008 Server ознакомьтесь с условиями лицензии здесь.
  • Убедитесь, что .NET Framework 4.5 уже установлен на компьютере. В противном случае загрузите и установите .NET Framework 4.5 с сайта www.microsoft.com.
  • Откройте командную строку с правами администратора.
  • Перейдите в каталог, в который были скопированы файлы установщика .NET Framework 4.5 SDK Tools.
  • Установите инструменты SDK.NET Framework 4.5 с помощью командной строки: Msiexec/i sdk_tools4.msi VSEXTUI = 1

Ответ 2

Для запуска на вашем CI-сервере без Visual Studio вам нужно скопировать несколько папок с машины разработки в одно и то же место на сервере CI. Нет необходимости устанавливать SDK.

VS 2015:

  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web
  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications

VS 2013:

  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web
  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications

VS 2012:

  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web
  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications

VS 2010:

  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web
  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications

.NET 4.6:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework \.NETFramework\v4.6

.NET 4.5.2:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework \.NETFramework\v4.5.2

.NET 4.5.1:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework \.NETFramework\v4.5.1

.NET 4.5:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework \.NETFramework\v4.5

.NET 4.0.1:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework \.NETFramework\v4.0.1

.NET 4.0:

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework \.NETFramework\v4.0

Или, как Мэтт предложил, вы можете скопировать их в подкаталог вашего проекта и изменить расположение <MSBuildExtensionsPath32> в своем MSBuild (обычно .csproj или .vbproj).

Как только вы это сделаете, ваш проект будет скомпилирован.

Вы также должны явно указать переменную среды VisualStudioVersion на версию Visual Studio (10.0 для VS2010, 11.0 для VS2012, 12.0 для VS2013, 14.0 для VS2015), которую вы используете, только чтобы убедиться, что она настроена правильно в вашей конфигурации.

Ответ 3

От msdn:

Windows SDK больше не поставляется с полной командной строкой. Вы должны установить среду компилятора и сборки отдельно. Если вам нужна полная среда разработки, включающая компиляторы и среду сборки, вы можете загрузить Visual Studio 2012 Express, которая включает в себя соответствующие компоненты Windows SDK.

Чтобы исправить это, мне пришлось скопировать папку C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5 с моей машины разработки (которая, кстати, Visual Studio 2012), на агенты сборки. После этой операции Team City больше не сообщал об ошибках, и mscorlib.dll не выводился в папку bin.

Ответ 4

Microsoft Build Tools 2013 поможет в этом случае, так как его страница загрузки описывает:

Если у вас нет Visual Studio, установленной на вашем компьютере, вы можете используйте Build Tools 2013 для создания управляемых приложений. Visual Basic и компиляторы С# также включены в эту загрузку. (В предыдущем версии, эти инструменты были включены в автономный .NET. Framework).

Ответ 5

Мой департамент. любит придерживаться минималистского подхода к тому, что установлено на наших машинах сборки Win 7. Однако нам не нравится просто копировать и вставлять файлы/папки из-за потенциальных проблем с ключом реестра. Вместо установки VS 2013 я установил следующие гораздо меньшие и бесплатные компоненты. Теперь команда разработчиков может успешно создавать веб-приложения VS 2013.