自从使用Visual Studio 2012 RC后,我们在剃刀视图中使用可移植类库(.net 4.5& metro profile)中的类时会出现HttpCompileException。
例外:(德语译成谷歌翻译,对不起)
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)
...
解决方案结构:
自Visual Studio 2012 RC添加引用" System.Runtime"是不可能的。
答案 0 :(得分:60)
在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
中添加完整的组件列表。