Nuspec - Почему contentFiles игнорируется, если вы добавляете узел файлов? Как исправить?

У меня есть файл nuspec для пакета, содержащего UWP, а также сборки Android и iOS.

В версии UWP мне также нужно включить файл содержимого. Согласно этой ссылке, я должен использовать тег contentFiles, который отлично работает в следующем коде, и в сгенерированном файле пакета я добавил файлы:

<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    <id>x</id>
    <version>1.0.1</version>
    <authors>...</authors>
    <description>...</description>       
   <contentFiles>        
        <files include="**/images/*.*" ... />        
    </contentFiles>
  </metadata>
</package>

Однако мне также нужно включить сборки, для чего я должен использовать узел files:

<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    ...
  </metadata>  
  <files>
    <file src="..." target="..." />    
  </files>  
</package>

В этом случае файлы содержимого просто игнорируются. Другими словами, как только я добавляю узел files, узел contentFiles даже не добавляется в сгенерированный пакет!

Это ошибка в Nuget.exe? Это по дизайну? Как я могу иметь оба в пакете?!

PS: Мой nuget.exe — последний официальный.


person Paymon    schedule 21.04.2017    source источник


Ответы (3)


Согласно документам, в разделе Включая файлы содержимого следует использовать тот или иной вариант, поскольку ContentFiles относится к файлу project.json.

Попробуйте переместить свой контент в тег файла, он должен выглядеть так:

<?xml version="1.0"?>
<package>
    <metadata minClientVersion="3.3.0">
        ...
    </metadata>  
    <files>
        <file include="**/images/*.*" target="Content" />
        <file src="..." target="..." />    
    </files>  
</package>
person Roy Sanchez    schedule 02.05.2017
comment
Было бы неплохо получить хотя бы предупреждение при использовании обоих элементов. - person Chiel ten Brinke; 31.01.2020

Для NuGet есть связанная проблема с github. https://github.com/NuGet/Home/issues/1980

person Bernard Vander Beken    schedule 27.04.2017
comment
Спасибо Бернард. Но эта проблема кажется другой проблемой. - person Paymon; 27.04.2017

Когда вы добавляете раздел files в свой файл nuspec, вам нужно вручную перечислить все файлы, которые вы хотите включить в свой пакет, включая файлы содержимого, которые вы указали в разделе contentFiles.

person Brandon Ording    schedule 29.04.2017
comment
Это то, что я сделал. В приведенном выше коде ... относится к этому. - person Paymon; 30.04.2017
comment
Можете ли вы обновить свой код, чтобы отразить это тогда? Ваши примеры показывают одно или другое, но не оба. Трудно понять, в чем может быть проблема, не видя самого файла. Чтобы иметь возможность помочь вам в дальнейшем, вот что я хотел бы увидеть: 1. Ваш полный файл до nuspec 2. Ваш полный файл после nuspec 3. Расположение реальных файлов на диске. - person Brandon Ording; 30.04.2017
comment
Это в основном первый код плюс элемент файлов из второго. - person Paymon; 01.05.2017
comment
В вашем текущем разделе файлов не отображаются фактические файлы, вы пропустили важные биты, показав их как ... вместо этого. Как я уже говорил, было бы очень полезно увидеть ваш реальный файл с реальными значениями. - person Brandon Ording; 01.05.2017