在Unity IDE中构建/进入播放模式时,控制台窗口中充斥着许多警告,这些警告是由第三方资源的脚本编译生成的。如何在不更改特定资源的情况下禁用或隐藏这些资源的控制台警告?
我预计人们会理直气壮地嚎叫我需要如何修复这些警告,而不是把它们扫到地毯下。但对那些人来说,* 请考虑 *...
代码在 * 第三方 * 资产中--不是我的资产。通常情况下,资产上没有可用的升级来修复消息,我已经查看了消息,并判断它们是良性的。我意识到警告的价值,但我不想深入研究第三方代码来修复这些警告。我也不愿意更改这些资产中的代码,因为它本质上给了我一个本地分支。然后,将来来自第三方的资产更新将需要手动与我的本地更新合并。这既耗时又会带来风险。
3条答案
按热度按时间njthzxwz1#
两年后,我可以回答我自己的问题了。:)
创建
.asmdef
文件,使第三方资产位于一个清单中,所有项目代码位于单独的.asmdef
中。因此,在我的项目中,我将第三方资产放在Assets
下,project
再下一级。Assets
(文件夹)thirdPartyAssets.asmdef
Project
(文件夹)project.asmdef
这基本上通过不构建第三方资产来“禁用”来自第三方资产的警告。如果这些资产发生变化或进行了干净的构建,您仍然会看到第三方构建警告。
最初的问题是如何禁用 * 特定资产 *,所以我会注意到,可以安排
.asmdefs
包含/排除不同组中的资产。简单地将.asmdef
放入一个警告垃圾邮件的资产的文件夹中,将导致该资产的警告不显示,除了我在上一段中描述的情况。2vuwiymt2#
将插件放到它自己的文件夹中,如果还没有汇编定义,就创建一个汇编定义。
然后,您需要在程序集定义旁边创建一个
csc.rsp
文本文件编辑此
csc.rsp
并添加以下行这将仅针对该程序集将警告级别设置为0(无警告)。
参见https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/errors-warnings
tuwxkamq3#
感谢Erik Hermansen和Adam B提供的解决方案。
我采用了Erik Hermansen的解决方案,但稍微做了一些修改,有点反其道而行之:):
请注意,您可能必须添加一些对每个程序集的引用:
MyAssembly.asmdef:
ThirdParty.asmdef:
(可能还有其他一些,取决于你自己的项目)