c# – 在Unity中使用dynamic keyword / .NET 4.6功能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在Unity中使用dynamic keyword / .NET 4.6功能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2433字,纯文字阅读大概需要4分钟。
内容图文
我正在尝试将GraphQL实现到Unity3D(版本2017.1.0f3 Personal).我使用的是.NET 4.6(实验版),但尽管如此,Unity还是不支持动态关键字.这很奇怪,因为.NET 4.0是.NET的一部分.在Unity中除外.我正在谷歌搜索一些解决方案如何让它工作,但没有动态关键字的解决方案.错误是这样的:
Severity Code Description Project File Line Suppression State
Error CS1980 Cannot define a class or member that utilizes 'dynamic'
because the compiler required type
'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you
missing a reference? skiing-prototype (1) D:\skiing-prototype
(1)\Assets\Scripts\GraphQL.cs 62 Active
这是使用GraphQL C#客户端的唯一警告.还有人试过它才能让它发挥作用吗?我还没有找到任何更大的努力来让它运行起来.
编辑:
我在这里使用这个客户端:https://github.com/bkniffler/graphql-net-client
这也是visual studio的一个错误,但在Unity控制台中它也会显示错误,会暂时更新
Assets/Scripts/GraphQL.cs(80,16): error CS1980: Dynamic keyword requires
`System.Runtime.CompilerServices.DynamicAttribute' to be defined. Are you
missing System.Core.dll assembly reference?
这是统一编辑器错误,这似乎与visual studio中的错误相同
解决方法:
第一步是检查Unity是否识别MS site中的这两个基本C#6功能.
1.尝试“索引初始化器”功能:
private Dictionary<int, string> webErrors = new Dictionary<int, string>
{
[404] = "Page not Found",
[302] = "Page moved, but left a forwarding address.",
[500] = "The web server can't come out to play today."
};
2.然后“字符串插值”功能:
private string FirstName = "";
private string LastName = "";
public string FullName => $"{FirstName} {LastName}";
如果他们给你错误,那么问题不仅仅是动态关键字,而是Visual Studio无法识别Unity设置的.NET版本的问题.
从评论部分,Unity无法编译第一个示例.
逐个完成这些步骤以获得可能的修复.不要跳过它们.
1.转到编辑 – >项目设置 – >播放器 – >其他设置 – >配置 – >脚本运行时版本 – >实验(.Net 4.6等效).
2.转到编辑 – >项目设置 – >播放器 – >其他设置 – >配置 – > Api兼容级别 – > .NET 4.6
3.Restart Unity Editor和Visual Studio.你必须重启两者.
测试上面的两个C#功能.如果它们有效,则动态关键字也应如此.如果他们不这样做,那么继续前进#4.
4.更新Visual Studio.这是非常重要的.将Visual Studio更新到最新版本/补丁.
5.如果您仍然无法获得上述两个C#6功能,则重新安装Visual Studio和Unity,然后再次执行步骤#1和#2,因为缺少某些文件.
6.最后,如果您同时使用C#6功能但动态关键字仍无效,则从Unity 2017.1更新到Unity 2017.2.此版本修复了许多.NET问题.
请注意,我使用Unity 2017.2与动态关键字没有任何问题.此外,GraphQL工作正常.
内容总结
以上是互联网集市为您收集整理的c# – 在Unity中使用dynamic keyword / .NET 4.6功能全部内容,希望文章能够帮你解决c# – 在Unity中使用dynamic keyword / .NET 4.6功能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。