Сборки NuGet Framework не работают

Я пытаюсь обновить пакет nuget, чтобы добавить ссылки на сборки, но получаю следующую ошибку:

Элемент 'метаданные' в пространстве имен ' http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd' имеет недопустимый дочерний элемент 'frameworkAssemblies' в пространстве имен http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'. Список возможных ожидаемых элементов: "зависимости, язык, сводка" в пространстве имен http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd

Я считаю, что эта функциональность была добавлена ​​в NuGet 1.2 - я использую 1.2.2213.45.

Вот мой файл nuspec:

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

3 ответа

Решение

Я думаю, что у вас есть устаревшая версия nuget.exe. Вы можете просто запустить 'nuget update', и он обновится до последней версии (на сегодняшний день это 1.3.20425.372). Ваш nuspec должен работать нормально!

Вы также можете получить эту ошибку, если вы поместили элемент в неправильном месте.
Например, вы размещаете <dependencies> элементы, вне <metadata> элемент.

Я ударил это тоже после установки / удаления VS11 Beta.

Переустановка nuget со страницы проекта Codeplex довольно быстро решила проблему.

Другие вопросы по тегам