我最近从barney瓦砾升级到克林特伊斯特伍德,我遇到了一些问题。当使用VS的Nuget进行升级时,它确实想升级到我允许的Razor 3。
我必须在web.config中将以下内容从2.0.0.0更改为3.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 Line :36
我注意到我不是第一个收到这个错误,但不同的是另一个人在VS中看到它但它仍然会构建...但是我的它仍然会构建但它不会产生一个页面: Nancy, First razor page not working
答案 0 :(得分:1)
作为测试,我手动删除了Microsoft.AspNet.Razor 3.2.3并将版本2.0.30506放回去,然后就可以了。删除时我注意到还有一些其他依赖项,例如system.web.webpages.razor。然后我将Microsoft.AspNet.Razor升级回3.2.3,现在它正在运行。我注意到我的引用中不再有其他dll文件(例如system.web.webpages.razor)。所以某种程度上存在某种冲突