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的,但是有人说没用,根本解决不了问题,最后解决办法要自己手动命令行修复一下才行。

https://developercommunity.visualstudio.com/content/problem/311136/update-to-1580-projects-wont-load.html

在下面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脚本,提示全红及无法加载工程等问题解决的更多相关文章

  1. vs2017 打开cs文件提示无法识别的GUID格式

    总结一句话 no zuo no die. 是我自己在注册表中给vs增加了自动以管理员身份运行,把值给错了,弄成了 ~ RUNASADMIN WIN7RTM, 改成 ~ RUNASADMIN 后OK.还 ...

  2. JS脚本文件的位置对页面加载性能影响以及无阻塞脚本(javascript)模式

    JS的阻塞特性:当<script>出现的时候,页面必须等待脚本文件的加载.解析.执行完毕后才能继续进行页面的渲染.不管脚本文件是以内联形式还是外部引入的形式出现在<script> ...

  3. 180729-Quick-Task 动态脚本支持框架之任务动态加载

    Quick-Task 动态脚本支持框架之任务动态加载 前面几篇博文分别介绍了整个项目的基本架构,使用说明,以及整体框架的设计与实现初稿,接下来则进入更细节的实现篇,将整个工程中核心实现捞出来,从为什么 ...

  4. VS2010创建MVC4项目提示错误: 此模板尝试加载组件程序集 “NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral,

    在安装VS2010时没有安装MVC4,于是后面自己下载安装了(居然还要安装VS2010 SP1补丁包).装完后新建MVC项目时却提示: 错误: 此模板尝试加载组件程序集 “NuGet.VisualSt ...

  5. [MFC] MFC 打开HTML资源(用ID版,也可加载到自己的web控件上)

    @ ^ @:如果是加载到web控件上,就把注释掉的解除注释(改为web控件点后面的函数),把下一句注释 BOOL Button::LoadFromResource(UINT nRes){//打开网页加 ...

  6. .Net Framework 下运行项目提示.dll类库程序集未能加载

     咨询个问题..项目可以生成成功,运行时总提示未能加载程序集,而且这个程序集就是当前webApi项目的dll,这是怎么回事.. 还一个奇怪的现象,刚开始报缺失xxx.dll, 那个dll是本解决方案里 ...

  7. EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)

    在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...

  8. ESP8266 LUA脚本语言开发: 准备工作-LUA文件加载与变量调用

    前言 这节说一下多个文件调用 多个文件之间变量调用 准备两个文件 init.lua other.lua 开始 模块默认一开始调用的是init.lua 咱让init.lua调用 other.lua 很简 ...

  9. vs2017 vs2019 打开cs文件提示无法识别的GUID格式

    总结一句话 no zuo no die. 是我自己在注册表中给vs增加了自动以管理员身份运行,把值给错了,弄成了 ~ RUNASADMIN WIN7RTM, 改成 ~ RUNASADMIN 后OK.还 ...

随机推荐

  1. wdcp lanmp 安装+搭建网站+安全狗安装 详细实用

    先说一下WDCP,其实就是一个集成环境,优点是有后台可视化面板操作,不像一般的linux似的 都要用代码命令! Linux 的PHP 环境一般就是两个搭配 [mysql+Apache+PHP]和[My ...

  2. K-Means算法:图片压缩

    #读取实例图片# from sklearn.datasets import load_sample_image from sklearn.cluster import KMeans import ma ...

  3. Install Oracle Tuxedo in silent mode

    在我的工作中,Tuxedo通常是和PeopleSoft一起出现的. 下面总结不同版本Tuxedo静默(silent)安装的方法,方便提高我们部署系统的效率. Tuxedo 12.1.3 1. repo ...

  4. SSM商城项目(十三)

    1.   学习计划 1.订单系统 2.提交订单 3.MyCAT 2.   订单系统 2.1. 功能分析 1.在购物车页面点击“去结算”按钮跳转到订单确认页面. a)         展示商品列表 b) ...

  5. centos中pipelinedb安装及初步使用

    安装 下载安装包 https://www.pipelinedb.com/download 创建系统文件目录和日志目录 pipelinedb安装 使用非root用户,初始化pipelinedb 修改配置 ...

  6. js 解析url

    以前解析uri都是去找网上的代码,用起来不怎么顺手,刚好自己前段时间做项目的时候需要用到,于是就自己写了一个,欢迎个位提出宝贵意见. getUrlParam (name) { //解析url var ...

  7. pwnable.kr-bof-witeup

    根据原程序可知,输入overflowme变量覆盖key变量即可,所以接下来应该看俩变量的距离,从而构造覆盖的payload. 嗯,他们相差了52个地址,overflowme变量在低地址,存放函数的栈中 ...

  8. Python开发【第十篇】:RabbitMQ队列

    简介 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. 安装 首先安装erlang环境. 官网:http://www.erl ...

  9. 关于有时候JQuery使用.val()赋值失败问题

    jQuery中有3个获取元素value值的函数比较相似:attr(), prop(), val(): 具体作用网上比较多就不展示对比过程了,结果就是:prop()和val()都能获取到文本框的实际va ...

  10. 阅读:JAVA 3& 4

    随机数: Random rand = new Random(47); // 产生随机算子.47 is seed. for incovating predicatable random numberin ...