Elemen 'paket' tidak dideklarasikan

132

Ketika menggunakan proyek asp.net mvc 3 dengan vs 2010 saya memiliki banyak peringatan seperti yang di bawah ini:

Saya ingin tahu apakah saya melakukan sesuatu yang salah dan saya perlu mengubah sesuatu, karena ini adalah proyek out-of-box yang datang dalam Visual Studio.

Peringatan 1 Elemen 'paket' tidak dideklarasikan. C: \ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ package.config 2 2 HR

Peringatan 2 Validasi (Transisi XHTML 1.0): Atribut 'charset' bukan atribut yang valid dari elemen 'meta'. C: \ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ Views \ Shared_Layout.cshtml 4 11 HR

Peringatan 20 Kesalahan 6002: Tabel / tampilan 'HR.dbo.vw_aspnet_Users' tidak memiliki kunci primer yang ditentukan. Kunci telah disimpulkan dan definisi dibuat sebagai tabel / tampilan hanya-baca. 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>

paket.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
sumber

Jawaban:

345

Diambil dari jawaban ini .

  1. Tutup packages.configfile Anda .
  2. Membangun
  3. Peringatan hilang!

Ini adalah pertama kalinya saya melihat mengabaikan masalah yang sebenarnya membuatnya hilang ...

Sunting pada tahun 2020: jika Anda melihat peringatan ini, pertimbangkan untuk memutakhirkan ke PackageReference jika Anda bisa

Joel
sumber
1
Seperti yang dikatakan @ carsten-könig, skema ini memang tidak divalidasi (VS akan mengeluh tentang kesalahan seperti itu dalam file XML apa pun, tidak hanya untuk nuget). Tetapi karena file yang dihasilkan secara otomatis itu aman (dan hanya digunakan oleh nuget - yang menangani XML dengan baik), sangat baik untuk mengabaikan peringatan.
Joel
7
Sebenarnya, di VS2013, ini tidak berhasil untuk saya. Meskipun proyek dibangun ok, peringatan "berlekuk" masih ada ketika file paket.config dibuka kembali.
JosephDoggie
2
@JosephDoggie Dalam VS apa pun Anda akan mendapatkan perilaku yang sama. Seperti yang dinyatakan, Anda akan mendapatkannya untuk file XML yang tidak divalidasi. Satu-satunya perbedaan adalah bahwa karena file ini dibuat secara otomatis dan seharusnya dibaca oleh nuget saja, cukup aman untuk mengabaikan peringatan.
Joel
Dalam kasus saya file files.config tidak terbuka. Buka. Tutup itu. Membangun kembali!. Ini berhasil untuk saya.
Legenda
11
ini 2018. Bug yang sama. Solusi yang sama. Sialan
kDar
34

Gunakan <packages xmlns="urn:packages">di tempat<packages>

Materi Gelap
sumber
Saya mendapat kesalahan MSB3644 yang tidak membiarkan saya membangun proyek. Entah bagaimana dengan melakukan apa yang Anda katakan, bug saya diperbaiki! Saya tidak tahu mengapa, jika Anda bisa menjelaskan kepada saya saya akan menghargai, Anda akan menyelamatkan hidup saya dua kali.
Diego Orellana
1
Bagaimana Anda mengetahui bahwa itu membutuhkan xmlns "urn: paket"? - Terima kasih sebelumnya!
Jimmyt1988
1
Saya mencari di internet dan menemukan beberapa petunjuk di suatu tempat. Kemudian saya mencoba ini dan ternyata berhasil.
Dark Matter
Itu melempar kesalahan sebagai: VS tidak dapat menemukan informasi skema untuk elemen urn: paket
jainashish
1
Ini membuat proyek saya (VS2015) tidak mengenali paket
nuget
12

Oh ok - sekarang saya mengerti. Anda dapat mengabaikan yang ini - XML ​​untuk ini tidak benar - paket-elemen memang tidak dideklarasikan (tidak ada referensi ke skema atau apa pun). Saya pikir ini adalah bug minor yang diketahui yang tidak akan melakukan apa-apa karena hanya NuGet yang akan menggunakan ini.

Lihat pertanyaan serupa ini juga.

Carsten
sumber
Yah, itu benar, tetapi terutama karena tidak mungkin itu salah.
Grault
5

Ubah simpul ke dan buat file, packages.xsd, di folder yang sama (dan sertakan dalam proyek) dengan konten berikut:

<?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 Bahasa Inggris
sumber