Podczas korzystania z projektu asp.net mvc 3 z vs 2010 mam wiele ostrzeżeń, takich jak te poniżej:
Zastanawiam się, czy zrobiłem coś źle i muszę coś zmienić, ponieważ jest to projekt z pudełka, który jest dostępny w programie Visual Studio.
Ostrzeżenie 1 Element „packages” nie jest zadeklarowany. C: \ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ packages.config 2 2 HR
Ostrzeżenie 2 Walidacja (XHTML 1.0 Transitional): Atrybut „charset” nie jest prawidłowym atrybutem elementu „meta”. C: \ Users \ LUIS.SIMBIOS \ Documents \ Visual Studio 2010 \ Projects \ SlnHR \ HR \ Views \ Shared_Layout.cshtml 4 11 HR
Ostrzeżenie 20 Błąd 6002: Tabela / widok „HR.dbo.vw_aspnet_Users” nie ma zdefiniowanego klucza podstawowego. Klucz został wywnioskowany, a definicja została utworzona jako tabela / widok tylko do odczytu. 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="Data Source=xxxx;Initial Catalog=HR;User ID=development;Password=xxxx;MultipleActiveResultSets=True"" 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>
źródło
Odpowiedzi:
Zaczerpnięte z tej odpowiedzi .
packages.config
plik.Po raz pierwszy widzę, że ignorowanie problemu sprawia, że znika ...
źródło
Użyj
<packages xmlns="urn:packages">
zamiast<packages>
źródło
O ok - teraz rozumiem. Możesz zignorować ten - XML dla tego jest po prostu nieprawidłowy - element packages rzeczywiście nie jest zadeklarowany (nie ma odniesienia do schematu lub czegokolwiek). Myślę, że jest to znany drobny błąd, który nic nie da, ponieważ będzie go używał tylko NuGet.
Zobacz również to podobne pytanie .
źródło
Zmień węzeł na i utwórz plik, packages.xsd, w tym samym folderze (i dołącz go do projektu) z następującą zawartością:
źródło
Możesz również znaleźć kopię pliku nuspec.xsd tutaj, ponieważ wydaje się, że nie jest już dostępny:
https://gist.github.com/sharwell/6131243
źródło