【发布时间】:2017-01-20 05:47:05
【问题描述】:
我最近从巴尼瓦砾升级到克林特伊斯特伍德,但遇到了一些问题。当使用 VS 中的 Nuget 进行升级时,它确实想升级到我允许的 Razor 3。
我必须在 web.config 中将以下内容从 2.0.0.0 更改为 3.0.0.0:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
但我仍然无法让它工作。尝试运行时收到编译错误:
说明:在编译服务此请求所需的资源时出错。请查看以下特定错误详细信息并适当修改您的源代码。
编译器错误消息: CS1061:“NancyContext”不包含“ApplicationInstance”的定义,并且找不到接受“NancyContext”类型的第一个参数的扩展方法“ApplicationInstance”(您是缺少 using 指令或程序集引用?)
来源错误:
Line 34: protected System.Web.HttpApplication ApplicationInstance {
Line 35: get {
Line 36: return ((System.Web.HttpApplication)(Context.ApplicationInstance));
Line 37: }
Line 38: }
源文件: C:\Users\Jacob\AppData\Local\Temp\Temporary ASP.NET Files\vs\0e4925d9\d5e47b7e\App_Web_login.cshtml.65a2d1ee.eydpkjxq.0.cs 行: 36
我注意到我不是第一个收到此错误的人,但不同之处在于其他人在 VS 中看到它,但它仍然会构建...但是我的它仍然会构建,但不会生成页面: Nancy, First razor page not working
【问题讨论】:
-
作为测试,我手动删除了 Microsoft.AspNet.Razor 3.2.3 并放回了 2.0.30506 版本,然后它就可以工作了。删除时我注意到还有一些其他依赖项,例如 system.web.webpages.razor。然后我将 Microsoft.AspNet.Razor 升级回 3.2.3,现在它可以工作了。我确实注意到我的引用中不再有其他 dll 文件(例如 system.web.webpages.razor)。所以不知何故发生了某种冲突。
-
请添加此评论作为答案,以帮助其他有同样问题的人。谢谢。
标签: nancy