网站在本地运行良好,但从Windows Azure网站托管环境中抛出此内容。
CS0012:类型' System.Object'在未引用的程序集中定义。您必须添加对程序集的引用,System.Runtime,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
所以这是一个臭名昭着的消息,并有一个已知的解决方案;
<compilation ... >
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
</compilation>
据我所知,ASP.NET页面/视图在不同的时间编译到控制器和其他逻辑,(vNext最终将解决这个问题),以及上面是为页面编译方面添加引用事情。
但我的问题是:为什么这会在我的开发机器上运行,但需要在WAWS环境中使用这个额外的配置,您认为这是完美的设置?
我想知道目标环境中有什么不同,缺少什么,以及引用便携式库(便携式,意味着它应该只是工作和&#39; #39;在各种环境中)实际上破坏了东西。
此外,为什么当我引用PCL时,在Mscorlib中突然找不到System.Object
。曾几何时我曾经理解这一切,然后一切都让人感到困惑。
答案 0 :(得分:0)
PCL引用system.runtime.dll,而不是mscorlib.dll,当asp.net编译您的视图页面时,它不会添加对system.runtime.dll的引用。在您的情况下,C#编译器抛出错误。但不确定为什么这个问题只发生在WAWS环境中。