Я просто трачу последние 4 или около того часа, пытаясь понять, почему при компиляции развернутого пакета SharePoint (файл wsp) файлы, которые были указаны с помощью подстановочных знаков, не всегда включались в пакет. «Всегда» оказалось «никогда на чистой сборке» и «обычно иначе». На самом деле файлы, на которые указывает спецификация подстановочных знаков, не существовали в момент загрузки проекта (они помещаются туда как часть сборки), и это оказалось сутью проблемы. - кажется, что расширение подстановочных знаков происходит только тогда, когда Visual Studio или MSBuild (это происходит в обоих случаях) загружает файл csproj. Если в этот момент файлов нет, то любые файлы, размещенные там как часть сборки, будут рассматриваться для включения в пакет файлов.
В конце концов мне удалось частично решить проблему, разместив там необходимые файлы путем создания вторичного проекта (от которого зависит основной проект), но даже это не работает должным образом в VS при первой загрузке. решение. По сути, вам нужно собрать решение один раз, затем закрыть и снова открыть, а затем снова собрать все файлы, которые будут включены. MSBuild, похоже, работает по-другому и расширяет подстановочные знаки только тогда, когда он впервые начинает собирать конкретный проект.
Я думаю, что я хотел бы знать, есть ли лучший способ сделать это, например. можно ли использовать включение подстановочных знаков в файлы .spdata или есть другой способ указать целые каталоги для включения в файлы .wsp (с возможностью указать имя целевого каталога)?