Unity 게임 엔진에 번들 된 MonoDevelop 버전을 사용하고 있습니다. 나는 C#에서 # if/# endif를 사용하지 않았다. 그래서 나는 결코 그것을 알아 차리지 못했다. 새 빈 파일에서 확인했습니다. 어떻게 해결할 수 있습니까?Monodevelop는 #if와 #endif 사이의 모든 것을 C# 파일의 주석으로 표시합니다.
2
A
답변
2
나는 이것들을 가지고 놀았으며, 내가 알아 낸 것은 에 대한 조건부 코드가 "#if DEBUG"블록으로 주석 처리되어 있다는 것입니다. 출시 코드를 만들 때 도움이 될 것입니다. "디버그"테스트는 코드에 남아 있지만 주석처럼 보입니다. 여기에 내가 YMMV, 그것을 테스트하기로 연주 한 것입니다 :
using System;
namespace testConditionalCompile
{
class MainClass
{
public static void Main (string[] args)
{
#if RELEASE
Console.WriteLine("Release code");
#endif
#if DEBUG
Console.WriteLine("Debug code");
#endif
}
}
}
내가 조건 코드 블록을 작성하는 가장 좋은 방법은 아니라고 실현,하지만 난 그게 가장 위의 내 지점을 보여 줄 알았는데. 취급이 질문에 오는 사람들을 위해
0
중 하나 또는 둘 모두 #if UNITY_IOS ... #elif UNITY_ANDROID
처리기 지시문이 같은 주석 및/또는 이상한 코드 형식화하는 문제를 가지고 보여 Monodevelop은 당신이 현재 빌드 설정에서 선택한 어느 플랫폼을 기반으로 코드를 포맷합니다. 따라서 아래에서 보는 것은 의도적인데,이 코드는 Monodevelop에 의해 기본적으로 주석 처리 된 코드와 동일하게 취급되기 때문입니다. 로직은 실행되지 않거나 빌드에 포함되기 때문에 편집기에서 확인하면 안됩니다. 따라서 서식 지정/주석 처리. 개인적으로이 설정은 빌드 설정에서 선택한 현재 플랫폼과 상관없이 포맷 된 코드를 작성하고 볼 수 있어야하기 때문에이 성가신 경우가 있습니다.