Пришло время отказаться от старых форматов *.csproj
и project.json
в пользу нового и улучшенного формата *.csproj
, который поддерживается Visual Studio 2017 и Visual Studio Code.
Следующие шаги необходимо выполнить для каждого репозитория.
dotnet migrate
(включая добавление недостающих проектов и проверку всех тестов) (@thecodejunkie)Directory.build.props
и обновите все файлы * .csproj
(см. Пример в MiniProfiler )DisableImplicitFrameworkReferences
ко всем *.csproj
для сборок с полной структурой (см. Пример OwinHttpMessageHandler )netstandard1.3
снова (необходимо обновить build.cake
чтобы отразить это, т.е. все ссылки netstandard1.6
)build.cake
для поддержки работы в Mono с новым SDK проекта ( @akoeplinger подтвердил, что xbuild
больше не сможет создавать новый формат проекта в моно`)xunit 2.2.0
и xunit.runners.visualstudio 2.2.0
DisableImplicitPackgeReference
и установите для него значение trueNETStandard.Library v1.6.1
NETStandard.Library
Единственным проектом Nancy.Demo.*
который был перенесен в project.json
был новый проект Nancy.Demo.Hosting.Kestrel
. Из-за этого все другие демонстрационные проекты заканчиваются очень раздутыми файлами *.csproj
после того, как dotnet migrate
были запущены в проектах. Нам нужно очистить их и заставить использовать новый, более легкий формат.
http://rehansaeed.com/cleaning-up-csproj/
Попробуйте использовать один вызов MSBuild для ускорения времени выполнения. Посмотрите на пример https://gist.github.com/dasMulli/69f5303aa79a8cd4060e44891c90fd2d , предложенный @dasmulli
Поскольку мы больше не можем использовать xbuild
для сборки с использованием Mono на * nix, нам придется прибегнуть к использованию FrameworkPathOverride
определенного на https://github.com/dotnet/netcorecli- fsc / wiki / .NET-Core-SDK-rc4 # using -net-framework-as-target-framework-the-osxunix-build-fails, т.е. нам нужно обновить build.sh
чтобы включить
export FrameworkPathOverride=$(dirname $(which mono))/../lib/mono/4.5/
Он должен указывать на 4.5
из-за того, как Mono сформирован для хранения их артефактов http://www.mono-project.com/docs/about-mono/releases/4.4.0/#class -libraries
Примечание. Папка
4.5
содержит фактические сборки, которые используются во время выполнения. С этого момента мы рассматриваем эти сборки как последние, то есть сейчас они реализуют .NET 4.6.1. К сожалению, мы не смогли переименовать эту папку, так как слишком много приложений и библиотек жестко проверяли этот путь.
Нам нужно пройти все репозитории и перенести их + обновить скрипты сборки
Это похоже на адскую эпопею
@thecodejunkie Если вы
@Sphiecoh В настоящее время я немного
@cemremengu Я использую это как полуструктурированную свалку мозгов, о которой я могу думать или сталкиваться во время работы над этим 😄
Самый полезный комментарий
Это похоже на адскую эпопею