如何在没有Visual Studio的系统上编译.NET 3.5 C#代码?

Jim*_*ans 13 c# .net-3.5

我有一些C#代码使用一些特定于.NET 3.5的构造.安装.NET Framework发行版时,可以使用它安装C#编译器(csc.exe).即使我在C:\ Windows\Microsoft.NET\Framework\v3.5中指定了csc.exe,我也无法在安装了.NET Framework但不安装Visual Studio 的计算机上编译代码.我能够毫无困难地编译使用v2.0构造的代码.我怎么能做到这一点?

这是一个演示我的问题的示例:

using System;
class Program
{
    public static void Main()
    {
        // The MacOSX value to the PlatformID enum was added after
        // .NET v2.0
        if (Environment.OSVersion.Platform == PlatformID.MacOSX)
        {
            Console.WriteLine("Found mac");
        }
        Console.WriteLine("Simple program");
    }
}
Run Code Online (Sandbox Code Playgroud)

使用csc.exe编译此代码时,我收到以下错误:

test.cs(9,58):错误CS0117:'System.PlatformID'不包含'MacOSX'的定义

执行时csc.exe /?我收到横幅:

Microsoft(R)Visual C#2008编译器版本3.5.21022.8(
适用于Microsoft(R).NET Framework版本3.5)
版权所有(C)Microsoft Corporation.版权所有.

Han*_*ant 4

Microsoft (R) Visual C# 2008 编译器版本 3.5.21022.8

这是旧的、原始的 .NET 3.5 版本。Service Pack 1 有一个相当不幸的名字,有很多变化。我没有时间机器来检查它是否添加了 MacOSX 成员。与 Silverlight 相一致的时机恰到好处。

启用 Windows Update 或直接安装 SP1。