'Paketler' öğesi beyan edilmedi


132

Asp.net mvc 3 projesini vs 2010 ile kullanırken aşağıdakilere benzer birçok uyarı alıyorum:

Acaba yanlış bir şey mi yaptım ve bir şeyi değiştirmem gerekiyor çünkü bu, Visual Studio ile gelen kullanıma hazır proje.

Uyarı 1 'Paketler' öğesi bildirilmedi. C: \ Kullanıcılar \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ packages.config 2 2 HR

Uyarı 2 Doğrulama (XHTML 1.0 Geçişli): 'karakter kümesi' özelliği, 'meta' öğesinin geçerli bir özniteliği değil. C: \ Kullanıcılar \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projeler \ SlnHR \ HR \ Views \ Shared_Layout.cshtml 4 11 HR

Uyarı 20 Hata 6002: 'HR.dbo.vw_aspnet_Users' tablosunun / görünümünün tanımlanmış bir birincil anahtarı yok. Anahtar çıkarıldı ve tanım salt okunur bir tablo / görünüm olarak oluşturuldu. C: \ Kullanıcılar \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projeler \ SlnHR \ HRRazorForms \ Modeller \ 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>

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

Yanıtlar:


345

Alındığı bu cevap .

  1. Dosyanı kapat packages.config.
  2. İnşa etmek
  3. Uyarı gitti!

İlk defa bir problemi görmezden gelmenin aslında onu ortadan kaldıracağını görüyorum ...

2020'de düzenleme: Bu uyarıyı görüntülüyorsanız, yapabiliyorsanız PackageReference'a yükseltmeyi düşünün.


1
@ Carsten-könig'in belirttiği gibi, şema gerçekten doğrulanmamıştır (VS, sadece nuget için değil, herhangi bir XML dosyasında bu tür bir hatadan şikayet edecektir). Ancak dosya otomatik olarak oluşturulmuş olduğundan (ve yalnızca nuget tarafından kullanıldığından - bu da XML'i gayet iyi idare eder) uyarıları göz ardı etmek tamamen iyidir.
Joel

7
Aslında, VS2013'te bu benim için işe yaramadı. Proje düzgün inşa edilse de, packages.config dosyası yeniden açıldığında "dalgalı çizgi" uyarısı hala oradadır.
JosephDoggie

2
@JosephDoggie Herhangi bir VS'de aynı davranışı alırsınız. Belirtildiği gibi, bunları doğrulanmamış herhangi bir XML dosyası için alacaksınız. Tek fark, bu dosya otomatik olarak oluşturulduğundan ve yalnızca NuGet tarafından okunması gerektiğinden, uyarıları göz ardı etmenin oldukça güvenli olmasıdır.
Joel

Benim durumumda packages.config dosyası açılmamıştı. Aç onu. Kapat onu. Yeniden !. Bu benim için çalıştı.
Efsaneler

11
2018. Aynı hata. Aynı çözüm. Kahretsin
kdar

34

Kullanım <packages xmlns="urn:packages">yerine<packages>


Projeyi oluşturmama izin vermeyen bir MSB3644 hatası aldım. Her nasılsa, dediğini yaparak hatamı düzelttim! Neden bana açıklayabilirsen minnettar olurum, hayatımı iki kez kurtarırdın.
Diego Orellana

1
Xmlns "urn: packages" a ihtiyaç duyduğunu nasıl anladınız? - Şimdiden teşekkürler!
Jimmyt1988

1
İnternette araştırıyordum ve bir yerde bazı ipuçları buldum. Sonra bunu denedim ve çalışıyordu.
Karanlık madde

Şu hatayı atıyor: VS urn öğesi için şema
bilgisini bulamadı

1
Bu, projemin (VS2015) herhangi bir nuget paketini tanımamasına neden oluyor
DanielV

12

Oh tamam - şimdi anladım. Bunu görmezden gelebilirsiniz - bunun için XML doğru değil - packs-element gerçekten bildirilmez (bir şemaya veya her neyse herhangi bir referans yoktur). Bunun bir şey yapmayacağı bilinen küçük bir hata olduğunu düşünüyorum çünkü yalnızca NuGet bunu kullanacak.

Bu benzer soruyu da görün .


Doğru, ama esas olarak yanlış olmasının bir yolu olmadığı için.
Grault

5

Düğümü, aynı klasörde (ve projeye dahil) aşağıdaki içeriğe sahip bir dosya, packages.xsd olarak değiştirin ve oluşturun:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.