当与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 Transitional):属性'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="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 …Run Code Online (Sandbox Code Playgroud) 我已经使用configSource属性将可怕的笨拙web.config文件分解为某些部分(例如connectionStrings,身份验证,页面等)的单个文件.
这工作正常,但是包含"snippets"部分的各个xml文件会在VS中引发警告.
例如,名为roleManager.config的文件用于角色管理器部分,如下所示:
<roleManager enabled="false">
</rolemanager>
Run Code Online (Sandbox Code Playgroud)
但是我在VS中的roleManager元素下获得了蓝色波形,并出现以下警告: The 'roleManager' element is not declared
我想这与有效的xml和模式等有关.有没有一种简单的方法来解决这个问题?我可以添加到单个文件的东西?
谢谢
PS我听说像这样打破web.config文件是不好的做法.但是不明白为什么 - 有人可以照亮我吗?
因此,在Visual Studio 2017中,我在自动生成的packages.config文件中收到以下警告:
'packages'元素未声明.
这与此处的问题相同:未声明'packages'元素
共识似乎是可以安全地忽略这一警告.此外,一些评论表明,解决这个问题的尝试可能导致其他问题和/或难以维护.
例如,一位撰稿人说:
这些答案都不会永久解决您的问题.如果您转到添加XSD的路径(从Xml菜单中选择"创建模式"),您将最终遇到包管理器问题,因为它会在您添加新包时清理packages.config文件.
然而,最近的贡献者建议只需<packages>改为<packages xmlns="urn:packages">.这样做会使错误消失,我没有看到任何明显的问题(我的经验非常有限).
但是,我不想冒险导致Nuget出现不需要解决的警告问题.另一方面,我猜测,在VS中创建的每个项目默认都会出现此错误,因此一个简单,安全且易于维护的修复程序会很好.
所以我的底线问题是:在packages.config文件中做了什么改变<packages>,<packages xmlns="urn:packages">这样做有什么风险或缺点吗?