首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将.NET依赖项与Iron.io IronWorker一起使用

将.NET依赖项与Iron.io IronWorker一起使用
EN

Stack Overflow用户
提问于 2014-11-16 15:17:57
回答 1查看 233关注 0票数 0

我对Iron.io的IronWorker非常陌生,我正尝试通过C#.NET与它进行接口,我设法让现场的样本工作起来,它利用了System.Web.Script.Serialization库。但是,我希望使用Newtonsoft.Json库进行序列化/反序列化。我的.worker文件(位于Visual项目的\bin目录中)如下所示:

代码语言:javascript
复制
runtime 'mono'
exec 'Debug\hello.exe'
file 'Debug\Newtonsoft.Json.dll'

我相当肯定Newtonsoft.Json正在加载,因为添加了第3行file: 'Debug\Netwonsoft.Json.dll'修复了一个错误,即无法找到Newtonsoft。

试图运行任务时收到的错误如下(删除了任何看似敏感的信息):

代码语言:javascript
复制
{"code_id":"[CODE_ID]","code_name":"hello","created_at":"2014-11-
16T13:48:01Z","duration":2452,"end_time":"2014-11-16T13:48:06Z","id":"[ID]","msg":"Unhandled 
Exception: System.TypeLoadException: Could not load type
'System.Runtime.CompilerServices.ExtensionAttribute' from assembly
'Newtonsoft.Json'.\n  at HelloWorld.Main (System.String[] args) [0x00000] in <filename
unknown>:0 \n[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could
not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly
'Newtonsoft.Json'.\n","project_id":"[PROJECTID]","start_time":
"2014-11-16T13:48:04Z","timeout":3600,"updated_at":"2014-11-16T13:48:07Z","status"
:"error"}

在跟踪错误:Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'Newtonsoft.Json'的过程中,我遇到了一个所以线,它表明v4.0和v4.5之间可能存在.NET框架的不匹配。我使用的是v4.5,我尝试将它更改为v4.0,但没有运气(所以这可能不是问题)。

请有人指点我如何正确地利用依赖关系,如Newtonsoft.Json (至少Iron.io上的示例会起作用)?。

我一直在利用http://grcodemonkey.github.io/iron_sharp/作为一个API来帮助与Iron.io产品进行接口(一旦我克服了这个依赖问题)。但是,如果有什么更好的建议,我可以接受。

溶液

@Featalion在下面的回答确实很有帮助,因为他向我指出了stack命令,我把它放在了下面这个命令中:

代码语言:javascript
复制
runtime 'mono'
stack 'mono-3.6'
exec 'Debug\hello.exe'
file 'Debug\Netwonsoft.Json.dll'

我认为它解决了手头的错误,因为更高级的mono框架似乎处理了Newtwonsoft.Json.dll的最新版本。如果我发现不一样的话,我会在这里发邮件。

请注意,截至2014年11月17日,IronWorker支持的最高堆栈版本似乎为3.6 (尽管3.10可用,但详细信息为http://www.mono-project.com/)。检查Iron.io http://dev.iron.io/worker/reference/environment/的最高稳定版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 22:01:07

这可能与IronWorker服务上的单一版本有关。我找到了关于StackOverflow的相关问题。尝试将.worker文件中的堆栈更改为mono-3.6mono-3.0。请参阅所有可能的运行时环境在Iron.io的开发站点mono运行时是默认的,它是mono-2.10的别名。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26958507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档