El elemento 'paquetes' no se declara

132

Cuando uso el proyecto asp.net mvc 3 con vs 2010, tengo muchas advertencias como las siguientes:

Me pregunto si hice algo mal y necesito cambiar algo, porque este es el proyecto listo para usar que viene dentro de Visual Studio.

Advertencia 1 El elemento 'paquetes' no se declara. C: \ Usuarios \ LUIS.SIMBIOS \ Documentos \ Visual Studio 2010 \ Proyectos \ SlnHR \ HR \ packages.config 2 2 HR

Advertencia 2 Validación (XHTML 1.0 Transitional): el atributo 'charset' no es un atributo válido del elemento 'meta'. C: \ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ Views \ Shared_Layout.cshtml 4 11 HR

Advertencia 20 Error 6002: La tabla / vista 'HR.dbo.vw_aspnet_Users' no tiene una clave primaria definida. Se ha inferido la clave y la definición se creó como una tabla / vista de solo lectura. C: \ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HRRazorForms \ Models \ HR.edmx 1 1 HRRazorForms

web.config

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->

<configuration>
  <connectionStrings>
    <add name="ApplicationServices" connectionString="data source=xx; User Id=development; Password=xxxxx; Initial Catalog=HR" providerName="System.Data.SqlClient" />
  <add name="HREntities" connectionString="metadata=res://*/Models.HR.csdl|res://*/Models.HR.ssdl|res://*/Models.HR.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=xxxx;Initial Catalog=HR;User ID=development;Password=xxxx;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

  <appSettings>
    <add key="webpages:Version" value="1.0.0.0" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></assemblies>
    </compilation>

    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>

    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>

    <roleManager enabled="false">
      <providers>
        <clear />
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>

    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

paquetes.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="4.1.10331.0" />
  <package id="jQuery" version="1.5.1" />
  <package id="jQuery.UI.Combined" version="1.8.11" />
  <package id="jQuery.Validation" version="1.8.0" />
  <package id="jQuery.vsdoc" version="1.5.1" />
  <package id="Modernizr" version="1.7" />
</packages>
Luis Valencia
fuente
2
posible duplicado del elemento nuget 'paquetes' no se declara advertencia
Carsten

Respuestas:

345

Tomado de esta respuesta .

  1. Cierra tu packages.configarchivo.
  2. Construir
  3. Advertencia se ha ido!

Esta es la primera vez que veo que ignorar un problema en realidad hace que desaparezca ...

Editar en 2020: si está viendo esta advertencia, considere actualizar a PackageReference si puede

Joel
fuente
1
Como dijo @ carsten-könig, el esquema no está validado (VS se quejará de dicho error en cualquier archivo XML, no solo para nuget). Pero dado que el archivo se genera automáticamente es seguro (y solo lo usa nuget, que maneja bien el XML), está perfectamente bien ignorar las advertencias.
Joel
77
En realidad, en VS2013, esto no funcionó para mí. Aunque el proyecto se construye bien, la advertencia de "garabato" sigue ahí cuando se vuelve a abrir el archivo packages.config.
JosephDoggie
2
@JosephDoggie En cualquier VS obtendrá el mismo comportamiento. Como se indicó, obtendrá esos para cualquier archivo XML no validado. La única diferencia es que, dado que este archivo se genera automáticamente y se supone que solo debe leerlo Nuget, es bastante seguro ignorar las advertencias.
Joel
En mi caso, el archivo packages.config no estaba abierto. Abrelo. Cierralo. ¡Reconstruir!. Esto funcionó para mí.
Leyendas
11
es 2018. Mismo error. La misma solución Goddamnit
kDar
34

Uso <packages xmlns="urn:packages">en lugar de<packages>

Materia oscura
fuente
Recibí un error MSB3644 que no me permitió compilar el proyecto. ¡De alguna manera, haciendo lo que dices, solucioné mi error! No tengo idea de por qué, si puedes explicarme que te agradecería, me habrías salvado la vida dos veces.
Diego Orellana
1
¿Cómo descubriste que necesitaba xmlns "urna: paquetes"? - ¡Gracias por adelantado!
Jimmyt1988
1
Estaba buscando en internet y encontré algunas pistas en alguna parte. Luego probé esto y estaba funcionando.
Dark Matter
Lanza un error como: VS no pudo encontrar la información del esquema para el elemento urna: paquetes
jainashish
1
Esto hace que mi proyecto (VS2015) no reconozca ningún paquete
nuget
12

Oh ok, ahora lo entiendo. Puede ignorar este, el XML para esto simplemente no es correcto, el elemento paquetes no está declarado (no hay referencia a un esquema o lo que sea). Creo que este es un error menor conocido que no hará nada porque solo NuGet lo usará.

Vea esta pregunta similar también.

Carsten
fuente
Bueno, es correcto, pero principalmente porque no hay forma de que sea incorrecto.
Grault
5

Cambie el nodo y cree un archivo, packages.xsd, en la misma carpeta (e inclúyalo en el proyecto) con el siguiente contenido:

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
      targetNamespace="urn:packages" xmlns="urn:packages">
  <xs:element name="packages">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="package" maxOccurs="unbounded">
          <xs:complexType>
            <xs:attribute name="id" type="xs:string" use="required" />
            <xs:attribute name="version" type="xs:string" use="required" />
            <xs:attribute name="targetFramework" type="xs:string" use="optional" />
            <xs:attribute name="allowedVersions" type="xs:string" use="optional" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Tom English
fuente