首页 > 其他分享 >Unity csc.rsp文件

Unity csc.rsp文件

时间:2022-08-16 20:33:38浏览次数:70  
标签:文件 mcs csc 编译 Unity 文档 rsp

试验版本 Unity2020.3

编译符号,就是#if UNITY_ANDROID这个东西,在处理多平台多分支的情况下挺有用的,但是在ProjectSettings里面设置比较麻烦,不主动代码调用保存的话就要关编辑器才保存,有的非技术同事那里有时莫名其妙就变了,然后编译报错。csc.rsp这个东西一直有点印象但是了解不深,为了省点事还是要看下。

Unity2020.2文档
Unity2020.3文档

这个东西官方文档也是语焉不详的,2020.2文档里面有的,2020.3文档就没了。不同的Unity版本也对应不同的文件。
大概是 Unity5 smcs.rsp(runtime) & gmcs.rsp(editor) -> Unity2017 mcs.rsp -> Unity2020 csc.rsp
2021.1文档里面又有了, 2021.2文档里面又没了, 估计这里的文档没人维护...
mcs.rsp这个文件实际已经过时了,C#的API兼容性等级不论是.NET Standard 2.0还是.NET 4.x,使用的都是csc.rsp文件

但是有一个比较坑的点,官方文档的说明:
As an example, if you include the single line -define:UNITY_DEBUG in your mcs.rsp file, the #define directive UNITY_DEBUG exists as a global #define for C# scripts, except for Editor scripts.

文档里面说,在mcs.rsp里面设置编译符号,对编辑器代码是无效的,那么实际有没有效果?
现在已经用Assets/csc.rsp了,修改rsp文件后,能看到重新编译dll了,查看Temp文件夹下的编译器参数也是有rsp文件的内容的,应该是有效果的

可以用更直观的可视化方法测试下
csc.rsp文件内容

-define:TEST_RSP

编辑器代码内容

[MenuItem("测试/rsp文件")]
public static void TestRsp()
{
#if TEST_RSP
    EditorUtility.DisplayDialog("", "有效", "确定");
#else
    EditorUtility.DisplayDialog("", "无效", "确定");
#endif
}

应该是可以看到有效的

Every time you make changes to .rsp files, you need to recompile in order for them to be effective. You can do this by updating or reimporting a single script (.js or .cs) file.
这里应该也是过时的文档,现在保存之后是会立即进行编译的。

最后,还有一个坑点:在rsp文件里面修改编译符号并保存,会重新编译,但是不会重新生成csproj文件,需要手动点击重新生成。

标签:文件,mcs,csc,编译,Unity,文档,rsp
From: https://www.cnblogs.com/lunoctis/p/16592875.html

相关文章

  • Unity URP LowPoly模型的阴影缝隙问题修复
    参考Unity论坛的一篇帖子,有一个回复我认为是最准确的。在不修改模型的前提下,只能通过修改URP设置中的Normalbias来调整。Thisisbecausenormalbias.Verticesonthe......
  • CommunityToolkit.Mvvm-IOC
    CommunityToolkit.Mvvm未内置IOC,可以使用Microsoft.Extensions.DependencyInjection.在App中注册ViewModel和其他服务publicpartialclassApp:Application{pub......
  • Community.MvvmToolkit教程
    通知单个属性值改变不传参privatestring_firstName;publicstringFirstName{get{return_firstName;}set{_firstName=value;......
  • Unity URP项目导入Synty Studios Nature 资源后修复材质报错
    Unity2021.3.7f1SyntyStudiosNature资源1.12导入后材质错误,根据youtube官方频道视频的说明,使用urp升级材质功能,修好一部分材质,然后使用包导入后的另一个unitypackage......
  • ubuntu安装BricsCAD
    目录目录下载软件包安装deb软件包sudodpkg-i*.deb将Crack/bricsys.lic中hostid=<YOURHOSTID>替代本机MAC地址......
  • C#版Unity-APK打包工具
    最近应大佬的要求,给渠道做了一个打包工具。这里说的打包工具,不是在unity里直接调用打包,而是更改已打包好的APK,进行换皮换资源换渠道操作。 话不多说,winform开起来。下......