命名空间“Microsoft.AspNet”中不存在类型或命名空间名称“FriendlyUrls”

Posted

技术标签:

【中文标题】命名空间“Microsoft.AspNet”中不存在类型或命名空间名称“FriendlyUrls”【英文标题】:The type or namespace name 'FriendlyUrls' does not exist in the namespace 'Microsoft.AspNet' 【发布时间】:2017-03-03 17:09:53 【问题描述】:

我在 VisualStudio 2013 上使用标准 Web 项目向导创建了一个简单的 WebForms 项目。最近,我安装了 VisualStudio 2015 并决定升级。升级后,我运行了标准的 NuGet 包还原,一切正常。

令我惊讶的是,该项目没有建立。错误信息是:

类型或命名空间名称“FriendlyUrls”不存在于 命名空间“Microsoft.AspNet”

    我查看了参考部分:是的,那里确实缺少正确的参考。 我查看了已安装的 NuGet 包:是的,正确的包已安装到位并更新到最新版本。 我已经使用 NuGet 明确卸载了该软件包并重新安装:没有变化。错误还是一样。

事实上,我可以在卸载 'FriendlyUrls' 的情况下成功构建项目。但是,当然,那时缺少适当的功能。也许有人可能有更多想法在这种情况下可以做些什么来修复项目?

【问题讨论】:

如果您确定该软件包已正确安装,它是兼容的(fw 版本兼容性),它只是错过了您可以编辑 scproj 并手动添加它的参考,它看起来像这样:(下载包上的 dll 路径)True @Gusman,谢谢你的建议。这是我尝试过的第一件事。此外,我导航到项目包存储中的已安装包文件夹,只是发现其中根本没有程序集 DLL,我可以显式引用它。我真的很想知道,如果我是第一个在这种典型情况下升级还是其他人之前遇到过这个问题并以某种方式解决? 我曾经遇到过这个问题,是因为这个包是为更高的固件版本设计的。添加nuget包时它根本不会抱怨吗?尝试从包控制台而不是 nuget 管理器添加它,它会告诉你是否有任何不兼容或问题 @Gusman,请写下您的建议作为解决方案。我已经从命令行安装了包,它修复了构建。它是视觉 NuGet 管理器的错误吗?我比较了两个版本的 NuGet 的输出日志,发现没有区别。两者都在没有警告的情况下运行。但是视觉安装产生了损坏的安装。 天哪,我现在记得为什么会这样。这是因为 nuget 管理系统从 2013 年更改为 2015 年,在 2013 年您必须拥有包含可执行文件的 .nuget 文件夹,并且该项目有一些目标将在 2015 年失败,2015 年根本不需要这些,因为它是由VS 本身。让我搜索解释它的文档,我将添加响应。 【参考方案1】:

我前段时间遇到了一个非常相似的问题,项目无法编译,包也没有真正恢复。

这是因为 VS2015 上的 nuget 管理系统从 MS-build restore 更改为 Automatic Package restore。

您可以使用包控制台安装它,但最好按照 nuget 提供的这些说明进行操作:Migrating to automatic restore。

【讨论】:

你也可以在msbuild参数列表中添加-t:restore来解决TFS问题

以上是关于命名空间“Microsoft.AspNet”中不存在类型或命名空间名称“FriendlyUrls”的主要内容,如果未能解决你的问题,请参考以下文章

命名空间“System.Configuration”中不存在类型或命名空间名称“ConfigurationManager”

命名空间“System.Configuration”中不存在类型或命名空间名称“ConfigurationMannger”,求帮助,谢谢

错误:命名空间中不存在类型或命名空间 UI

命名空间“System.Web.Mvc”中不存在类型或命名空间名称

命名空间“Microsoft”中不存在类型或命名空间名称“Reporting”

命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是不是缺少程序集引用?)