2012-03-27 92 views
1

我一直在尝试MVC 4最近。从开发人员预览开始,现在是测试版。DisplayMode/DiplayMode Providers Issue Asp.Net MVC 4

一切都工作得很好,但我想利用内置缩小&压缩功能。但它似乎并不存在于开发人员预览中,因为无论我尝试的代码是否不会编译/提供干净的运行,如果我添加了与捆绑相关的任何内容。然后我做了一些研究,看到了MVC 4 beta。

我卸载了mvc 4并使用beta安装程序重新安装了它。创建了一个新项目,并使用捆绑运行良好。但无论我做什么,(包括复制DLL的来自新的解决方案,我的旧的。)我不能得到捆绑在我现有的解决方案的工作

在文件的global.asax.cs

[1]

BundleTable .Bundles.RegisterTemplateBundles();

捆绑表不会登录。 (得到红色下划线)

[2]

我想别的,只是为了验证正在使用新的DLL。

先前检查显示模式下面将用于

[a] 
    DisplayModes.Modes.Insert(0, new DefaultDisplayMode("iPhone") 
    { 
     ContextCondition = (context => context.Request.UserAgent.IndexOf 
         ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) 
    }); 

但它既然已经更新到

[b] 
    DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone") 
    ... 

的代码编译,如果我用[A],而不是[ b],但它不会给我一个干净的运行使用[a],因为它在运行时出错

无法从程序集'系统加载类型'System.Web.WebPages.DisplayModes'系统.Web.WebPages,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。

难道是我的旧解决方案还是以某种方式引用旧的dll,即使我复制新的,删除了引用并手动指向新的引用?


由@Brad克里斯蒂要求的参考条目

<Reference Include="EntityFramework"> 
    <HintPath>..\packages\EntityFramework.4.1.10331.0\lib\net40\EntityFramework.dll</HintPath> 
</Reference> 
<Reference Include="Microsoft.CSharp" /> 
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> 
</Reference> 
<Reference Include="System.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\System.Json.4.0.20126.16343\lib\net40\System.Json.dll</HintPath> 
</Reference> 
<Reference Include="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\System.Net.Http.2.0.20126.16343\lib\net40\System.Net.Http.dll</HintPath> 
</Reference> 
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\System.Net.Http.Formatting.4.0.20126.16343\lib\net40\System.Net.Http.Formatting.dll</HintPath> 
</Reference> 
<Reference Include="System.Net.Http.WebRequest, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\System.Net.Http.2.0.20126.16343\lib\net40\System.Net.Http.WebRequest.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.Helpers.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetWebApi.Core.4.0.20126.16343\lib\net40\System.Web.Http.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Http.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\System.Web.Http.Common.4.0.20126.16343\lib\net40\System.Web.Http.Common.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetWebApi.4.0.20126.16343\lib\net40\System.Web.Http.WebHost.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetMvc.4.0.20126.16343\lib\net40\System.Web.Mvc.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Optimization"> 
    <HintPath>..\packages\Microsoft.Web.Optimization.1.0.0-beta\lib\net40\System.Web.Optimization.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetRazor.Core.2.0.20126.16343\lib\net40\System.Web.Razor.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.WebPages.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.WebPages.Deployment.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <Private>True</Private> 
    <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.WebPages.Razor.dll</HintPath> 
</Reference> 

回答

1

不是问题的答案我所期待的,但它得到了这份工作完成。我最终创建了一个新的解决方案,并将我的代码移动到它。似乎要做的伎俩。不知道为什么以前的解决方案没有正确更新,但:/

尝试去你的解决方案资源管理器,并右键点击根解决方案,并检查属性。在通用属性 - >项目依赖项下,确保检查相关项目。

+0

我仍然有这个问题。你从未发现这个问题?你可以转储项目的''条目吗? – 2012-04-03 20:24:36

+0

非常感谢,谢谢! – 2012-04-04 12:37:56

2

我说这个我的课,并得到它的工作:

using System.Web.WebPages; 
0

我得到了同样的问题,并花了1天到解决这个问题。 我检查了一切(装配参考/更换装配)。

终于卸载asp .net网页并重新安装它,并工作。

希望这会有所帮助