VS2013 中出现错误“找不到类型或命名空间名称'DotNetOpenAuth'”,但 VS2012

本文关键字:DotNetOpenAuth VS2012 命名空间 错误 类型 找不到 VS2013 | 更新日期: 2023-09-27 18:36:42

我有一个 ASP.NET MVC 3项目,它使用DotNetOpenAuth,通过NuGet检索。包还原已启用。该项目使用 .NET 4(完整配置文件,而不是客户端)。

在Visual Studio 2012中,项目编译并运行良好。

在Visual Studio 2013中,我收到以下错误:

找不到类型或命名空间名称"DotNetOpenAuth"(是否缺少 using 指令或程序集引用?

DLL 已成功还原到packages文件夹,并且还正确复制到网站项目的bin文件夹中。已添加所有适当的using。每次我测试来自干净工作目录的更改时。解决方案中的所有其他项目都可以正常编译。程序集引用在Website.csproj文件中如下所示:

<Reference Include="DotNetOpenAuth.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
  <HintPath>..'..'packages'DotNetOpenAuth.Core.4.3.1.13153'lib'net40-full'DotNetOpenAuth.Core.dll</HintPath>
</Reference>

我该如何解决这个问题?

VS2013 中出现错误“找不到类型或命名空间名称'DotNetOpenAuth'”,但 VS2012

若要安装 DotNetOpenAuth 扩展 ASP.NET (网页),请在程序包管理器控制台中运行以下命令

PM> install-Package DotNetOpenAuth.aspNet

事实证明,问题是在某个时候意外地从项目文件中删除了导入。通过 NuGet 安装 DotNetOpenAuth 会添加对 BCL 生成组件Microsoft依赖项,从而在项目文件中生成以下行:

<Import Project="..'..'packages'Microsoft.Bcl.Build.1.0.8'tools'Microsoft.Bcl.Build.targets" />

在我的项目中,这一行已被删除(可能是因为它似乎没有必要)。VS2012在没有此导入的情况下工作正常,但VS2013没有。