5

我在 Visual Studio 2012 中的 Asp.net MVC 4 项目中工作,当我打开视图时出现此错误:

ASP.NET 运行时错误:在类型 Microsoft.Web.WebPages.OAuth.PreApplicationStartCode 上的应用程序启动前初始化方法 Start 引发异常,并显示以下错误消息:“DotNetOpenAuth.Reporting”的类型初始化程序引发异常.. C: \Users\escobar5\Desktop\WindowsAzure1\MvcWebRole1\Views\Shared_LoginPartial.cshtml

所以我失去了智能感知,因为在该错误之后,每次调用 ViewBag 或模型时都会说:“找不到编译动态表达式所需的一种或多种类型”

我从 Nuget 更新了 OAuth 包,但仍然出现错误。

该项目运行良好,问题只是剃须刀。

这是错误的屏幕截图以获取更多详细信息:

错误

有任何想法吗?

提前致谢

4

5 回答 5

4

我找到了以下解释并使用 nuget 包管理器更新 DotNetOpenAuth.OAuth.Consumer 解决了错误问题。

https://groups.google.com/forum/?fromgroups=#!topic/dotnetopenid/js58kMaWvvo

于 2012-11-04T14:54:13.000 回答
1

当我通过 NuGet 将 log4net 添加到我的应用程序时,我发现虽然错误没有消失,但 Intellisense 在文件中工作。

看起来DotNetOpenAuth的报告模块依赖于一个名为 Logger 的类,而后者又依赖于 log4net。

于 2012-09-06T01:53:29.820 回答
1

在包管理器控制台中选择了错误的项目....我的愚蠢错误。我想我应该在做这个之前喝更多的咖啡。

我通过进入解决方案的管理 NuGet 包并单击 ASP.NET MVC 4 旁边的管理来解决此问题,然后将该包添加到解决方案中的 MVC4 项目。

于 2013-11-27T14:42:40.533 回答
0

如果你的文件中有这一行web.config

<add key="webpages:Enabled" value="true" />

然后删除它。

于 2013-07-08T11:45:23.240 回答
0

我必须执行以下两个步骤来解决此问题。

  1. 更新 DotNetOpenAuth.OAuth.Consumer NuGet 包。这一点归功于 Magnus Karlsson - 请参阅他的答案以获取更多详细信息。
  2. 从 Web.Config 文件中删除 System.Web.Razor 的程序集绑定。这是来自拉纳的回答
<dependentAssembly>
    <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
于 2014-06-16T11:26:41.350 回答