Visual Studio'package'元素未声明警告

时间:2017-04-02 18:02:04

标签: visual-studio nuget

因此,在Visual Studio 2017中,我在自动生成的packages.config文件中收到以下警告:

  

未声明'packages'元素。

与此处的问题相同:The 'packages' element is not declared

在这里:nuget 'packages' element is not declared warning

共识似乎是可以安全地忽略这个警告。此外,一些评论表明,解决这个问题的尝试可能导致其他问题和/或难以维护。

例如,一位撰稿人说:

  

所有答案都不会永久解决您的问题。如果你去添加XSD的路径(从Xml菜单,选择“创建模式”),你将最终遇到包管理器的问题,因为它会在你添加新包时清理你的packages.config文件。

但是,最新的撰稿人建议只需将<packages>更改为<packages xmlns="urn:packages">。这样做会使错误消失,我没有看到任何明显的问题(我的经验非常有限)。

但是,我不想冒险导致Nuget出现不需要解决的警告问题。另一方面,我猜测,在VS中创建的每个项目默认都会出现此错误,因此一个简单,安全且易于维护的修复程序会很好。

所以我的底线问题是:在packages.config文件中将<packages>更改为<packages xmlns="urn:packages">究竟做了什么,这样做有什么风险或缺点吗?

2 个答案:

答案 0 :(得分:13)

  

在packages.config文件中将<packages>更改为<packages xmlns="urn:packages">的确切做法是什么,这样做有任何风险或缺点吗?

在packages.config文件中使用<packages xmlns="urn:packages">会将架构添加到文件中。 xmlns(名称空间)声明只不过是统一资源标识符(URI)形式的字符串,并且不需要此声明。 NuGet使用packages.config中的<packages>节点来恢复项目依赖关系,如架构部分of the packages.config reference中所述。这就是Microsoft使用<packages>而不是<packages xmlns="urn:packages">

的原因

packages.config文件是自动生成的,可以由NuGet原样使用。无需更改文件,也没有忽略警告的风险或缺点。

答案 1 :(得分:-1)

添加对EntityFramework.SqlServer的引用... 100%测试,我遇到了同样的问题,这对我有用。