我收到有关缺少参考的运行时错误。
类型'System.Object'是在没有的程序集中定义的 引用。您必须添加对程序集'System.Runtime的引用, Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
我正在使用MVC应用程序,并在我的代码中使用了CSharpCodeProvider。
我没有得到任何编译错误,但是如上所述为compileResult
收到运行时错误?
CompilerResults results = provider.CompileAssemblyFromSource(parameters, code);
我甚至在assemblies
中添加了web.cofig
标记,就像以下相同的错误一样。有什么线索?
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
答案 0 :(得分:2)
ASP.NET MVC大量使用dynamic
关键字。这可能是问题的原始问题,因为这需要Microsoft.CSharp
程序集(显然包含了它)和System.Runtime
程序集(我认为这个程序集丢失了。
在编译配置中添加System.Runtime
程序集:
parameters.ReferencedAssemblies.Add("mscorlib.dll"); // guess you have this one already
parameters.ReferencedAssemblies.Add("System.Runtime.dll");