Возможно, я не до конца понимаю статью вики о сфере охвата, так что извините, если это звучит глупо.
Введение: У меня есть решение (ABC.sln) с более чем 40 проектами, и я пытаюсь реализовать OpenWrap для управления пакетами.Поэтому я сделал следующее в корневой папке решения:
o init-wrap -all
Это сработало: у меня теперь есть файл с именем SLN.wrapdesc в корневой папке решения.Все файлы .csproj в подпапках содержат строку целей OpenWrap.Затем я продолжил добавлять различные обертки к решению с помощью:
o add-wrap -Name xxx
Опять же, это работало нормально: у меня есть несколько оберток в папке оберток, и сборка не прерывается после удаления старых ссылок изпроекты.
Задача: Все содержимое упаковок предназначено для всех проектов, даже для тех, кто в этом не нуждается.Я хотел бы иметь возможность указать, какие обертки куда, например, AjaxControlToolkit входит только в веб-проекты.
Что я пробовал Сначала я удалил AjaxControlToolkit из wrapdesc:
o remove-wrap AjaxControlToolkit
Это приводит к сбою сборки (как и ожидалось).Тогда я попробовал следующее:1. Попробуйте добавить обертку с областью действия:
o add-wrap -Name AjaxControlToolkit -scope webproject
Это просто поместит обертку в папку оберток.Затем я добавил <OpenWrap-Scope>customscope</OpenWrap-Scope>
в файл проекта, но сборка все еще не работает.2. Попробуйте вручную добавить файл с именем ABC.webproject.wrapdesc в корневую папку.Это вызывает следующую ошибку, когда я пытаюсь открыть решение:
The "exists" function only accepts a scalar value, but its argument "@(_WrapFile->'%(FullPath)')" evaluates to "D:\Projects\ABC.webproject.wrapdesc;D:\Projects\ABC.wrapdesc" which is not a scalar value.
Я думаю, ему не нравятся 2 файла wrapdesc.Это странно, потому что вики говорят: «... вы можете добавить второй дескриптор вместе с дескриптором по умолчанию ...»
Так что я застрял.У кого-нибудь есть идеи?