c# - 带有 Visual Studio 2012 RC 的 MVC 4/Razor 中的可移植类库?

标签 c# asp.net razor .net-4.5 portable-class-library

自从使用 Visual Studio 2012 RC 后,我们在 razor View 中使用可移植类库(.net 4.5 和 Metro 配置文件)中的类时会收到 HttpCompileException。

异常(exception):(德语到英语在谷歌上翻译,抱歉)

System.Web.HttpCompileException (0x80004005):     
c:\Users\user\AppData\Local\Temp\Temporary ASP.NET        
Files\root\1995167a\126b7c4d\App_Web_index.cshtml.1fbcdbb1.zaniprm5.0.cs(29):

error CS0012: The type 'System.Object' is not in a referenced assembly is 
defined. Add a reference to the Assembly "System.Runtime, Version = 4.0.0.0, 
Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" added.   

at
System.Web.Compilation.AssemblyBuilder.Compile()   
System.Web.Compilation.BuildProvidersCompiler.PerformBuild()    
System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
...

解决方案结构:

  • 可移植类库(.net 4.5 和 metro 配置文件)
    • 公共(public)类用户{ ... }
  • MVC 4 (.net 4.5)
    • 引用可移植类库
    • Razor View
      • @model 用户

自 Visual Studio 2012 RC 以来,不再可能添加引用“System.Runtime”。

最佳答案

在Views\Web.config文件中,在<system.web>下添加如下代码部分:

<compilation debug="true" targetFramework="4.5">
    <assemblies>
        <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </assemblies>
</compilation>

根据您的可移植代码使用的类型,您可能还需要引用许多其他程序集。您可以在遇到错误时添加每一个,或者在 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades 中添加完整的程序集列表。 .

关于c# - 带有 Visual Studio 2012 RC 的 MVC 4/Razor 中的可移植类库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10897712/

相关文章:

C#:在没有临时文件的情况下将嵌入式 swf 加载到 flash activex

c# - SQL Server 2008 从大于给定日期时间的返回值中选择最小值

css - 动态创建的表中的 <td> 之一必须取消分配宽度以强制其他 <td> 宽度

c# - 为什么即使值相同,哈希表中的值比较也会返回 false?

C# 扩展方法仅适用于类的实例。有什么办法吗?

asp.net - 如何更改中继器中的列(数据集)值名称

ASP.NET:从用户控件以编程方式创建新的 CSS 类?

asp.net-mvc - 在 ASP.NET MVC3 RC2 中显示复杂类型

asp.net-mvc - 使用ajax调用将模型从 View 传递到 Controller ?

c# - AutoMapper.Map 忽略源对象中的所有 Null 值属性