2017-08-10 2 views
0

ich folgend in meiner nuspec Datei enthalten ist:nuspec contentFiles Element ungültig in Metadaten

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

Allerdings bekomme ich folgende Fehlermeldung:

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 '.

Als ich hier: https://blog.nuget.org/20160126/nuget-contentFiles-demystified.html, was ich habe getan, scheint richtig zu sein. Was vermisse ich?

Antwort

1

Die NuSpec file reference zeigt an, dass <Contentfile> und <File> zwei unabhängige Tags sind. Sie können nicht verschachtelt <file> unter <Contentfile>

Verwenden Sie das folgende Muster:

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

<contentfiles> NuGet unterstützt nur 3.3+, vielleicht haben Sie eine ältere NuGet (NuGet 2.x oder früher)?

0

Es gab zwei Probleme mit diesem.

Einer war wie bei der anderen Antwort.

Die zweite, dass das Ziel nicht mit

lib, content, build, or tools

gemäß der Dokumentation begonnen hat.

Meine letzte Markup sah wie folgt aus:

<?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> 

Ich habe dann ein virtuelles Verzeichnis in IIS für den ‚Inhalt‘ Verzeichnis, so dass die Dateireferenzen müssen nicht geändert werden.

Verwandte Themen