【发布时间】:2011-06-29 03:39:19
【问题描述】:
我有一些使用特定于 .NET 3.5 的结构的 C# 代码。当您安装 .NET Framework 发行版时,您会获得与它一起安装的 C# 编译器 (csc.exe)。即使我在 C:\Windows\Microsoft.NET\Framework\v3.5 中指定 csc.exe,我也无法在安装了 仅 .NET Framework 而不是 Visual 的计算机上编译代码工作室。我能够毫无困难地编译使用 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");
}
}
使用 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) 微软公司。保留所有权利。
【问题讨论】:
-
不使用 Visual Studio 编译应该没问题。您能否举例说明您要编译的内容以及遇到的错误?没有这些信息,我们就瞎了眼……
-
如果您可以扩展“我无法在仅安装了 .NET Framework 的计算机上编译代码”会很有帮助,csc 返回什么错误?跨度>
-
输入 csc.exe 是什么版本?它显示的是 3.5.* 版本的编译器还是 2.0?
-
附带说明,如果因为 VisualStudio 价格昂贵而无法安装但您可以安装 IDE,请查看:SharpDevelop
-
@digEmAll,或者确实是 Visual Studio Express! =)