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>
我该如何解决这个问题?
若要安装 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没有。