未声明'packages'元素


131

与vs 2010一起使用asp.net mvc 3项目时,我有很多警告,如下所示:

我想知道我是否做错了什么,是否需要更改某些内容,因为这是Visual Studio中的现成项目。

警告1未声明'packages'元素。C:\ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ packages.config 2 2 HR

警告2验证(XHTML 1.0过渡):属性'charset'不是元素'meta'的有效属性。C:\ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ Views \ Shared_Layout.cshtml 4 11 HR

警告20错误6002:表/视图HR.dbo.vw_aspnet_Users没有定义主键。已推断出键,并且已将定义创建为只读表/视图。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>

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>

Answers:


345

取自这个答案

  1. 关闭packages.config文件。
  2. 建立
  3. 警告不见了!

这是我第一次看到忽略问题实际上使它消失了...

编辑2020年:如果您正在查看此警告,可以考虑升级到PackageReference如果你能


1
正如@carsten-könig所述,该架构确实未得到验证(VS会抱怨任何XML文件中的此类错误,而不仅仅是针对nuget)。但是由于文件是自动生成的,所以是安全的(并且仅由nuget使用-可以很好地处理XML),因此忽略警告是完全可以的。
乔尔2014年

7
实际上,在VS2013中,这对我不起作用。尽管项目构建正常,但是重新打开packages.config文件时,“ squiggle”警告仍然存在。
JosephDoggie 2015年

2
@JosephDoggie在任何VS中,您都会得到相同的行为。如前所述,您将获得任何未经验证的XML文件的文件。唯一的区别是,由于此文件是自动生成的,并且应该只能由nuget读取,因此忽略警告是非常安全的。
2015年

在我的情况下,packages.config文件未打开。打开它。关闭它。重建!。这对我有用。
传说

11
是2018年。同样的错误。相同的解决方案。Goddamnit
kDar

33

使用<packages xmlns="urn:packages">中的位置<packages>


我收到一个错误MSB3644,该错误使我无法构建该项目。按照您说的做,我以某种方式解决了我的错误!我不知道为什么,如果您能向我解释,我将不胜感激,您将挽救我的生命两次。
Diego Orellana

1
您如何发现它需要xmlns“ urn:packages”?- 提前致谢!
Jimmyt1988 '19

1
我在互联网上搜索时,在某处找到了一些线索。然后我尝试了这个,它正在工作。
暗物质

它将引发错误,因为:VS找不到元素urn:packages的架构信息
jainashish

1
这使我的项目(VS2015)无法识别任何nuget程序包
DanielV

12

哦,好了-现在我明白了。您可以忽略这一点-对此的XML只是不正确-确实未声明packages-element(没有对架构的引用或其他内容)。我认为这是一个已知的小错误,不会起作用,因为只有NuGet会使用它。

也请参见此类似问题


是的,这是正确的,但是主要是因为没有办法使它不正确。
Grault

5

将节点更改为,并在同一文件夹中创建文件packages.xsd(并将其包含在项目中),其内容如下:

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.