0

Как проект ASP.NET CORE в VS2015-решении (VS2015 с обновлением 3) разрешает ссылки на другие проекты библиотеки .Net Core в том же решении (см. Структуру проекта ниже)? Локальный разработчик, работающий на VS2015, не имеет проблем, но шаг «Visual Studio Build» на VSTS не ссылается на правильную версию .Net Core Libraries.Как проект ASP.NET CORE в решении VS2015 разрешает другие ссылки библиотек?

(все проекты являются частью одного и того же раствора, но разные папки на жестком диске)

MySolution.sln__contains__My .NET # 1"

MySolution.sln__contains__My .NET проекта CORE Библиотека CORE Библиотека проекта # 2"

MySolution.sln__contains ___ CORE project__Referencing Проект № 1 и Проект № 2"

Это как ссылается другие проекты в файле project.json:

"dependencies": { 
    "LibraryProject1": "1.0.1-*", 
    "LibraryProject2": "1.0.1-*", 
    } 

В настоящем время, чтобы сделать его работу я должен изменить номер версии для каждого ядра библиотеки .Net, чтобы убедиться, что решение шаг сборки на VSTS подбирает правильную версию.

Опять же, разработчики не сталкиваются с этой проблемой.

+0

Когда инструмент теперь перемещается в Visual Studio 2017 RC, можете ли вы обновить и попробовать еще раз? Новый формат проекта на базе MSBuild должен работать лучше с существующими инструментами, такими как TFS/VSTS. –

+0

Я не могу воспроизвести эту проблему, хотя в корневой папке решения есть файл global.json. Что такое шаги? Можете ли вы поделиться проектом OneDrive, который может воспроизвести эту проблему? –

+0

@ starain-MSFT: Это следующие шаги сборки: https: //www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure – MuazzamAli

ответ

2

В корневой папке решения должен быть файл global.json. И его projects раздел это то, что вы ищете (от doc):

Определяет, какие папки системы сборки должны искать проекты при разрешении зависимостей. Система сборки будет искать только дочерние папки верхнего уровня.

+0

Благодарим за быстрый ответ. Его полезно и указал мне в правильном направлении. Моя структура папок такова: C: \ Applib \ webProject \ global.json (файл решения также находится в этой папке), C: \ Lib \ Project1, C: \ Lib \ Project2. Я попытался добавить относительные пути в файл global.json, но все еще не работал. Единственный способ заставить его работать - переместить проекты lib в ту же папку, что и решение, и global.json? – MuazzamAli

+0

@MuazzamAli Можно указать путь AFAIK к любой папке и использовать как относительный, так и абсолютный путь. Имейте в виду, что система сборки будет искать только дочерние папки верхнего уровня. Если ваше расположение файла project.json - это C: \ Lib \ Project1 \ project.json и C: \ Lib \ Project2 \ project.json, то этот относительный путь должен работать: '.. \ .. \ Lib' (или относительный путь 'C: \ Lib') – Set

+0

Благодарим за отзыв. Я пробовал все комбинации относительных путей, и он все еще не работает. Я попробую переместить его в ту же папку и посмотреть, работает ли это. Если нет, то я пропущу VS build и переключитесь на DOTNET RESTORE, указав на пакеты пакетов nuget для библиотек. – MuazzamAli

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