Brad Robinson
Brad Robinson

Reputation: 46887

NuGet Framework Assemblies not working

I'm trying to update a nuget package to add some assembly references, but I'm getting the following error:

The element 'metadata' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd' has invalid child element 'frameworkAssemblies' in namespace http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'. List of possible elements expected: 'dependencies, language, summary' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'

I believe this functionality was added in NuGet 1.2 - I'm using 1.2.2213.45.

Here's my nuspec file:

<?xml version="1.0"?>
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
        <id>PetaPoco.Core</id>
        <title>PetaPoco.Core - A tiny ORMish thing for your POCOs (Core Only)</title>
        <version>3.0.0</version>
        <authors>Topten Software</authors>
        <owners>Topten Software</owners>
        <licenseUrl>http://www.toptensoftware.com/petapoco/license</licenseUrl>
        <projectUrl>http://www.toptensoftware.com/petapoco/</projectUrl>
        <iconUrl>http://www.toptensoftware.com/petapoco/nuget_icon.png</iconUrl>
        <requireLicenseAcceptance>true</requireLicenseAcceptance>
        <description>
PetaPoco is a tiny, single file .NET data access layer inspired by Massive that works with both non-dynamic POCO objects and dynamics.

This package includes the just the core PetaPoco library (ie: no T4 templates)

        </description>
        <tags>ORM POCO MVC MVC2 MVC3 ASP.NET WebForms WebMatrix MySQL Database</tags>
        <frameworkAssemblies>
            <frameworkAssembly assemblyName="System.Data" />
            <frameworkAssembly assemblyName="System.Configuration" />
        </frameworkAssemblies>
    </metadata>
    <files>
        <file src="PetaPoco.cs" target="Content\Models" />
    </files>
</package>

Upvotes: 19

Views: 11538

Answers (3)

David Ebbo
David Ebbo

Reputation: 43203

I think you have an outdated version of nuget.exe. You can simply run nuget update and it will update itself to the latest (which as of today is 1.3.20425.372). Your .nuspec should then work fine!

Upvotes: 21

Ralph Willgoss
Ralph Willgoss

Reputation: 12183

You can also get this error if you have placed an element in the wrong place.
e.g. You place the <dependencies> elements, outside of the <metadata> element.

Upvotes: 4

Drew Noakes
Drew Noakes

Reputation: 311285

I hit this too after installing/uninstalling VS11 Beta.

Reinstalling nuget from its codeplex project page sorted the issue out for me quite quickly.

Upvotes: 2

Related Questions