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

Pen*_*ise 12 visual-studio nuget

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

'packages'元素未声明.

这与此处的问题相同:未声明'packages'元素

在这里:nuget'package'元素未声明警告

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

例如,一位撰稿人说:

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

然而,最近的贡献者建议只需<packages>改为<packages xmlns="urn:packages">.这样做会使错误消失,我没有看到任何明显的问题(我的经验非常有限).

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

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

Leo*_*SFT 18

在packages.config文件中确实改变<packages><packages xmlns="urn:packages">什么,这样做有任何风险或缺点吗?

<packages xmlns="urn:packages">在packages.config文件只是架构添加到文件中.xmlns(名称空间)声明只不过是统一资源标识符(URI)形式的字符串,并且不需要此声明.因为packages.config中的资源实际上可以由NuGet使用.这就是为什么微软不使用<packages>而不是<packages>.

由于自动生成的packages.config文件是安全的并且可以被NuGet很好地使用,因此您可以完全忽略警告,无需更改packages.config,没有风险或缺点.

  • `&lt;packages xmlns =“ unicorn”&gt;`似乎也摆脱了警告。但是,这两者都阻止了我的nuget软件包管理器找到我已安装的软件包。 (3认同)