【问题标题】:Error "The type or namespace name 'DotNetOpenAuth' could not be found" in VS2013 but not VS2012在 VS2013 但不是 VS2012 中出现错误“找不到类型或命名空间名称‘DotNetOpenAuth’”
【发布时间】:2023-03-15 06:48:01
【问题描述】:

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

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

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

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

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

我该如何解决这个问题?

【问题讨论】:

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


    【解决方案1】:

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

    PM> 安装包 DotNetOpenAuth.AspNet

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-03-04
        • 2014-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多