2017-08-10 93 views
0

我已經列入我nuspec文件中的以下內容:nuspec contentFiles元素的元數據無效

<?xml version="1.0"?> 
<package> 
    <metadata minClientVersion="3.3"> 
     <contentFiles> 
      <file src="*.css" target="_css" /> 
     </contentFiles> 
    </metadata> 
</package> 

不過,我得到以下錯誤:

MSBUILD : OctoPack error OCTONUGET: The element 'metadata' in namespace ' http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd ' has invalid child element 'contentFiles' in namespace ' http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd '. List of possible elements expected: 'language, licenseUrl, projectUrl, requireLicenseAcceptance, summary, tags, frameworkAssemblies, title, references, copyright, authors, description, version, iconUrl, owners, dependencies, id, developmentDependency, releaseNotes' in namespace ' http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd '.

當我看這裏:https://blog.nuget.org/20160126/nuget-contentFiles-demystified.html,我已經完成似乎是正確的。我錯過了什麼?

回答

1

NuSpec file reference表示<Contentfile><File>是兩個獨立的標籤。你不能<Contentfile>

下窩<file>使用以下模式:

<files> 
    <file src="bin\Debug\*.dll" target="lib" /> 
    <file src="bin\Debug\*.pdb" target="lib" /> 
    <file src="tools\**\*.*" exclude="**\*.log" /> 
</files> 

<contentfiles>僅支持的NuGet 3.3+,也許你有一箇舊的NuGet(2.X的NuGet或更早版本)?

0

這有兩個問題。

一個是根據其他答案。

第二個目標並沒有與

lib, content, build, or tools

開始按文檔。

我最終的標記是這樣的:

<?xml version="1.0"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <metadata minClientVersion="3.3"> 
     <id>Application Id</id> 
     <version>$version$</version> 
     <description>Solution description</description> 
     <authors>Development Team</authors> 
    </metadata> 
    <files> 
     <file src="\_css\**\*.*" target="content\_css" /> 
     <file src="\_scripts\**\*.*" target="content\_scripts" /> 
     <file src="\_images\**\*.*" target="content\_images" /> 
    </files> 
</package> 

我然後創建在IIS虛擬目錄的「內容」目錄,使文件的引用並沒有需要改變。