预定义类型CallSite在多个位置定义

时间:2012-10-11 13:38:19

标签: asp.net-mvc-4 .net-4.5 appharbor ironjs

我从App Harbor上的构建和网站预编译中得到错误,这些错误似乎源自多个版本的C#动态程序集。它们都以警告开头,如:

2>CSC : warning CS1685: The predefined type 'System.Runtime.CompilerServices.CallSite' is defined in multiple assemblies in the global alias; using definition from 'd:\temp\qb3ydb5o.xoq\input\packages\IronJS.Core.0.2.0.1\lib\net40\Microsoft.Scripting.Core.dll' [D:\temp\qb3ydb5o.xoq\input\...csproj]

构建通过,但网站预编译有这些警告但失败了:

(0): error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember'
d:\temp\qb3ydb5o.xoq\output\_PublishedWebsites\...cshtml(4): error CS1969: One or more types required to compile a dynamic expression cannot be found. Are you missing a reference?

我想知道它是否与IronJS的包装方式有关?有人可以帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:1)

我通过移除对Microsoft.Scripting.CoreMicrosoft.Scripting.ExtensionAttribute的引用来解决此问题。这些是由IronJS NuGet包添加的。我仍然有AppHarbor构建错误,但那些是因为AppHarbor没有做一个干净的构建(不同的问题)。

修改:我向IronJS提交了一个问题:https://github.com/fholm/IronJS/issues/92