Unity2018 VS2017打开CS脚本,提示全红及无法加载工程等问题解决
VS2017用的比较老的版本,因为当时下载了离线文件,所以可以离线安装,现在看来是没有必要的,占硬盘空间不说,不更新VS IDE,Unity高版本还有问题。
主要问题在于,我之前一直用Unity2017和VS 2017,无问题。
昨天想体验Unity PC环境下的IL2CPP,得知要Unity2018及以上版本才有这个功能,于是装了Unity2018.3.13f1,能成功编辑CS脚本,也能正确生成VS工程,但是IDE中脚本提示许多红线,显示一堆package找不到。

搜索得知需要更新VS IDE,我用的几乎是比较早的VS2017,15.5.X还是多少的,升级到目前最新15.9.11。
但是这又带来了新的问题,脚本打开后,VS工程无法正确加载了,试了一下,就算建立其他工程,比如一般的VS工程,C#工程,C++工程也不行。提示
error : Invalid static method invocation syntax: "[Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries($(TargetFrameworkIdentifier)
连创建基本的一般工程都完蛋了,google了一会,有的说要重装VS的,但是有人说没用,根本解决不了问题,最后解决办法要自己手动命令行修复一下才行。
在下面10 Best Solution里提到了解决方法,有趣的这是2018年8月份给的解决办法,2019年4月我更新VS IDE还是有这个问题,微软的人果然都是乐于给人喂屎的。
不确定未来这个办法是否还会有效,以及是否会修复,总之目前对我来说可行了。
命令行输入下面的内容
gacutil /u "MSBuild, Version=15.1.0.0" gacutil /u "Microsoft.Build.Conversion.Core, Version=15.1.0.0" gacutil /u "Microsoft.Build, Version=15.1.0.0" gacutil /u "Microsoft.Build.Engine, Version=15.1.0.0" gacutil /u "Microsoft.Build.Tasks.Core, Version=15.1.0.0" gacutil /u "Microsoft.Build.Utilities.Core, Version=15.1.0.0" gacutil /u "Microsoft.Build.Framework, Version=15.1.0.0"
经测试,一般C#,C++工程均又能正确创建并运行了。
Unity2018脚本工程,需要选择Open C# Project,才能正确生成工程。

谢天谢地总算全解决了,2个小时就这么白白浪费在这种毫无意义的Bug上了,微软丢雷老母!!!
最后一个有用的东西是,如何安装一个早期版本的VS2017,没试过,但是姑且先存货以备不时之需。
https://docs.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017
Unity2018 VS2017打开CS脚本,提示全红及无法加载工程等问题解决的更多相关文章
- vs2017 打开cs文件提示无法识别的GUID格式
总结一句话 no zuo no die. 是我自己在注册表中给vs增加了自动以管理员身份运行,把值给错了,弄成了 ~ RUNASADMIN WIN7RTM, 改成 ~ RUNASADMIN 后OK.还 ...
- JS脚本文件的位置对页面加载性能影响以及无阻塞脚本(javascript)模式
JS的阻塞特性:当<script>出现的时候,页面必须等待脚本文件的加载.解析.执行完毕后才能继续进行页面的渲染.不管脚本文件是以内联形式还是外部引入的形式出现在<script> ...
- 180729-Quick-Task 动态脚本支持框架之任务动态加载
Quick-Task 动态脚本支持框架之任务动态加载 前面几篇博文分别介绍了整个项目的基本架构,使用说明,以及整体框架的设计与实现初稿,接下来则进入更细节的实现篇,将整个工程中核心实现捞出来,从为什么 ...
- VS2010创建MVC4项目提示错误: 此模板尝试加载组件程序集 “NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral,
在安装VS2010时没有安装MVC4,于是后面自己下载安装了(居然还要安装VS2010 SP1补丁包).装完后新建MVC项目时却提示: 错误: 此模板尝试加载组件程序集 “NuGet.VisualSt ...
- [MFC] MFC 打开HTML资源(用ID版,也可加载到自己的web控件上)
@ ^ @:如果是加载到web控件上,就把注释掉的解除注释(改为web控件点后面的函数),把下一句注释 BOOL Button::LoadFromResource(UINT nRes){//打开网页加 ...
- .Net Framework 下运行项目提示.dll类库程序集未能加载
咨询个问题..项目可以生成成功,运行时总提示未能加载程序集,而且这个程序集就是当前webApi项目的dll,这是怎么回事.. 还一个奇怪的现象,刚开始报缺失xxx.dll, 那个dll是本解决方案里 ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...
- ESP8266 LUA脚本语言开发: 准备工作-LUA文件加载与变量调用
前言 这节说一下多个文件调用 多个文件之间变量调用 准备两个文件 init.lua other.lua 开始 模块默认一开始调用的是init.lua 咱让init.lua调用 other.lua 很简 ...
- vs2017 vs2019 打开cs文件提示无法识别的GUID格式
总结一句话 no zuo no die. 是我自己在注册表中给vs增加了自动以管理员身份运行,把值给错了,弄成了 ~ RUNASADMIN WIN7RTM, 改成 ~ RUNASADMIN 后OK.还 ...
随机推荐
- LevelDB源码分析-Write
Write LevelDB提供了write和put两个接口进行插入操作,但是put实际上是调用write实现的,所以我在这里只分析write函数: Status DBImpl::Write(const ...
- UE4 Creating 3D Widget Interaction
https://docs.unrealengine.com/en-us/Engine/UMG/HowTo/InWorldWidgetInteraction
- git 之连接tfs的git服务器
tfs中的git的管理,注意区分是主页地址,还是代码地址,代码地址中会有 _git http://ip:8080/tfs/p/elasticsearch6.2.0 http://ip:8080/t ...
- 四百万条数据创建简单索引报错ora01652
经过几次度娘之后终于找到了解决方案,因为当时创建的indextest表是属于系统表空间,而系统表空间默认好像有大小限制,所以需要修改系统表空间的大小,至于修改表空间的语句可以随时度娘. 经过修改,创建 ...
- rest_framework_extensions实现缓存
1.安装包 pip install drf-extensions pip install django-redis pip install django-redis-cache 2.配置redis # ...
- program_options
[program_options] The program_options library allows program developers to obtain program options, t ...
- mysql内容总体回顾
数据类型: 数值类型: 整形 浮点型 字符串: char(定长)\varchar(不定长) char(定长):插入数据或查询数据都快,因为char在磁盘上插入数据时的存储空间是固定的,简单粗暴,直接就 ...
- css3-study-new
不错的:http://c7sky.com/works/css3slides/#28
- 哈尔滨工程大学ACM预热赛(A,C,H,I)
A: 链接:https://ac.nowcoder.com/acm/contest/554/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言655 ...
- 100-days: twenty-eight
Title: Lawrence Ferlinghetti's(劳伦斯·费林盖蒂) enduring San Francisco(旧金山) 劳伦斯·费林盖蒂心中的旧金山,历久弥新 费林盖蒂:美国垮掉的一 ...