csc無效

問題5

在命令行下用csc命令編譯C#文件提示'csc' 不是內部或外部命令,也不是可運行的程序或批處理文件。

解決方案

方案1:
執行
C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin/sdkvars.bat
設置環境變量
然後在用csc對cs文件進行編譯即可。

方案2:(推薦)
添加System environment variables:
Set Path=C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin/;C:/WINNT/Microsoft.NET/Framework/v1.1.4322/;C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/;C:/Program Files/Microsoft Visual Studio .NET 2003/Common7/IDE/;%PATH%
Set LIB=C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/lib/;"C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Lib/";%LIB%
Set INCLUDE=C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include/;"C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/include/";%INCLUDE%
Set NetSamplePath=C:/PROGRA~1/MICROS~1.NET/SDK/v1.1/
重啓系統

 

 

問題6

嵌套註釋

解決方案

/*/*  */  */
有問題!編譯器自動尋找與/*相匹配的*/,而/*/*都與第一個*/相匹配,最後一個*/就沒有與之匹配的/*了。

#if(true)
/*  */
#endif
正解!使用預處理語句可以解決嵌套的問題。

預處理語句的說明:
#if 使您得以開始條件指令,測試一個或多個符號以查看它們是否計算爲 true。如果它們確實計算爲 true,編譯器將計算位於 #if 和下一條指令之間的所有代碼。
#if symbol [operator symbol]...
其中:
symbol
您要測試的符號的名稱。也可以使用 true 和 false。symbol 可以用否定運算符作爲開頭。例如,!true 將計算爲 false。
operator(可選)
可以使用下列運算符計算多個符號:
==(相等)
!=(不相等)
&&(與)
|| (或)
可以用括號將符號和運算符分組。
備註
#if 以及 #else、#elif、#endif、#define 和 #undef 指令,使您得以基於一個或多個符號條件包括或排除代碼。這在編譯調試版本的代碼或編譯特定配置時最爲有用。
以 #if 指令開始的條件指令必須用 #endif 指令顯式終止。
示例
// preprocessor_if.cs
#define DEBUG
#define VC_V7
using System;
public class MyClass
{
   public static void Main()
   {

      #if (DEBUG && !VC_V7)
         Console.WriteLine("DEBUG is defined");
      #elif (!DEBUG && VC_V7)
         Console.WriteLine("VC_V7 is defined");
      #elif (DEBUG && VC_V7)
         Console.WriteLine("DEBUG and VC_V7 are defined");
      #else
         Console.WriteLine("DEBUG and VC_V7 are not defined");
      #endif
   }
}
輸出
DEBUG and VC_V7 are defined

問題7

csc/nooutput: class1.cs

fatal error CS2007: 無法識別的命令行選項:“/nooutput:”

研究中...

問題8


找不到入口點

解決方案

找不到Main()函數,檢查是否有Main()函數,或者檢查拼寫錯誤及字母大小寫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章