错误“在VS2013中无法找到类型或命名空间名称'DotNetOpenAuth',但不是VS2012

时间:2013-10-24 17:45:18

标签: c# asp.net visual-studio-2012 visual-studio-2013

我有一个ASP.NET MVC 3项目,它使用通过NuGet检索的DotNetOpenAuth。包恢复已启用。该项目使用.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>

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

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

PM&GT;安装包DotNetOpenAuth.AspNet

答案 1 :(得分:1)

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

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

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