2017-04-21 17 views
1

我有一個包含UWP以及Android和iOS程序集的包的nuspec文件。Nuspec - 如果添加「files」節點,爲什麼會忽略「contentFiles」?怎麼修?

在UWP版本我還需要包括的內容文件。 據this reference,我應該使用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> 

不過,我還需要包括組件,爲此我必須使用文件節點:

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

在這種情況下,內容文件只是忽略。換句話說,只要我添加文件節點,contentFiles節點甚至不會添加到生成的包中!

這是Nuget.exe中的錯誤嗎?這是設計嗎?我怎麼能在包裏?

PS:我nuget.exe是最新的官方之一。

回答

0

根據該文檔,下包含內容的文件,你應該使用一個或另一個,作爲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> 
0

當您添加files部分,將nuspec文件,然後你需要手動列出所有你在你的包所需的文件,包括您在contentFiles節中列出的內容文件。

+0

這就是我所做的。在上面的代碼中「...」指的是。 – Paymon

+0

你能否更新你的代碼以真正反映那麼?你的例子顯示了一個或另一個,但不是兩個。如果沒有看到實際的文件,很難找出問題所在。爲了能夠進一步幫助你,下面是我想看到的:1.你的完整的「before」nuspec 2.你的完整的「after」nuspec 3.磁盤上實際文件的佈局。 –

+0

它基本上是第一個代碼加上第二個代碼中的「files」元素。 – Paymon