Создание нормального проекта .Net с MSBuild 15, который поставляется с Visual Studio 2017 - PullRequest
0 голосов
/ 04 мая 2018

У меня есть проект, который в настоящее время находится в .Net версии 4.5.1, и у него есть нормальная структура проекта .Net.

Я пытаюсь построить этот проект с помощью Jenkins на агенте Windows, где установлена ​​только VS 2017.

Я строю этот проект, используя MSBuild 15, который поставляется с VS 2017, который находится по адресу - C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ MSBuild.exe

Но я столкнулся с ошибкой -

ошибка MSB3644: эталонные сборки для фреймворка Msgstr ".NETFramework, Version = v4.5.1" не найдены. Чтобы решить это, установите SDK или Targeting Pack для этой версии платформы или перенастроить ваше приложение на версию фреймворка, для которого вы установите SDK или Targeting Pack. Обратите внимание, что сборки будут разрешается из Глобального кэша сборок (GAC) и будет использоваться в место эталонных сборок. Поэтому ваша сборка не может быть правильно ориентирован на рамки, которые вы намереваетесь.

Насколько я понимаю, мой проект не имеет структуры на основе sdk - это не построение решения, и поэтому я заставлю администратора установить VS 2015 на окнах агент ИЛИ Мне нужно реструктурировать весь мой проект в структуру на основе SDK согласно этому посту -

https://www.natemcmaster.com/blog/2017/03/09/vs2015-to-vs2017-upgrade/

ИЛИ есть ли лучший способ справиться с этой ситуацией?

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Создание нормального проекта .Net с MSBuild 15, который поставляется с Visual Studio 2017

Чтобы решить эту проблему, вы должны убедиться, что у вас установлен .NET Framework 4.5.1 Targeting Pack на агенте Windows, на котором сначала был установлен Jenkins.

Вы можете запустить установщик Visual Studio, изменить его, проверить, выбран ли. NET Framework 4.5.1 targeting pack для отдельных компонентов:

enter image description here

Если он уже был установлен на агенте Windows, вам следует проверить, совпадает ли путь ссылки на .net framework на компьютере jenkins на вашем локальном компьютере.

Если нет, вы можете использовать параметр FrameworkPathOverride с командной строкой MSBuild, чтобы перезаписать путь платформы .net при создании решения с помощью jenkins, например:

MSBuild.exe” YourSolution.sln /p:FrameworkPathOverride="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1"

Надеюсь, это поможет.

0 голосов
/ 04 мая 2018

Как говорится в вашем сообщении, вы должны установить .net framework 4.5.1 на вашем сервере сборки (где vs2017). Это необходимо, потому что ваш проект использует и предназначается для некоторых библиотек, необходимых для создания вашего проекта.

Сначала вы можете попытаться установить структуру таргетинга только с https://www.microsoft.com/en-us/download/details.aspx?id=40772

Если это не работает, добавьте к установке полную версию фреймворка 4.5.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...