1

C# CSC.exe

C# ファイル .CS を指定すると、それをコンパイルして、たとえば「;」と言うことができますか? あなたのコードの12行目に欠けていますか?後のプログラム (Java RCP アプリ) のフォームで、これらのコンパイル エラーをスプレッドシートに表示できます。

MSBuild はどうですか? 前の例と同じようにコンパイル エラーを表示できますか?

4

2 に答える 2

4

MSBuild は、美化されたmakeもの、またはそれに似たものと考えてくださいANT。これは、コンパイル/ビルド タスクを記述するための言語です。C# プログラムのビルドに MSBuild を使用する場合、実際csc.exeにはコンパイル部分に使用しています。

于 2012-06-06T15:21:47.667 に答える
1

これがあなたのコード(program.cs)だとしましょう:

namespace MyCustomBuild
{
     class Program
     {
         static void Main(string[] args)
         {
             System.Console.WriteLine("Hello World")
         }
     }
}

次の出力を呼び出しcsc program.csて受け取ることができます

Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

program.cs(7,52): error CS1002: ; expected

または、msbuild を使用してまったく同じ結果を得ることができます。内容はこちらbuild.msbuild

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Default">
     <Csc Sources="program.cs"/> 
  </Target>
</Project>

次に示すように、さまざまな詳細レベルで msbuild ファイルを呼び出すことができます。

msbuild build.msbuild /verbosity:quietmsbuild build.msbuild /verbosity:minimal

Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.269]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

program.cs(7,52): error CS1002: ; expected [<filePath>\build.msbuild]

msbuild build.msbuild /verbosity:normal:

Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.269]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 6/6/2012 12:13:00 PM.
Project "<filePath>\build.msbuild" on node 1 (default targets).
Default:
  C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /out:program.exe program.cs
program.cs(7,52): error CS1002: ; expected [<filePath>\build.msbuild]
Done Building Project "<filePath>\build.msbuild" (default targets) -- FAILED.

Build FAILED.

"<filePath>\build.msbuild" (default target) (1) ->
(Default target) -> 
  program.cs(7,52): error CS1002: ; expected ["<filePath>\build.msbuild]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.28

残りの 2 つの詳細レベルは詳細で診断的であり、必要に応じてさらに多くの情報を表示します。スプレッドシートにどの程度の情報が必要かわかりませんが、これらのいずれかが役立つことを願っています。

于 2012-06-06T16:18:28.303 に答える