我有一个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>
我该如何解决这个问题?
答案 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没有。