2

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

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

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

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

DLL 已成功恢复到packages文件夹中,并且也正确复制到bin网站项目的文件夹中。using已添加所有适当的 s。每次我从干净的工作目录测试更改。解决方案中的所有其他项目都可以正常编译。程序集引用在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>

我该如何解决这个问题?

4

2 回答 2

4

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

PM> Install-Package DotNetOpenAuth.AspNet

于 2014-03-18T10:20:33.760 回答
1

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

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

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

于 2013-11-29T11:37:30.600 回答