0

All,

How do you specify a target framework version for the csc.exe c# compiler via command-line?

I need to force csc.exe to compile for .NET Framework 2.0. I can target .NET 2.0 from VS, but VS is not an option in this case. I must work from the command line.

Can anyone help?

Thanks,
Bill Drago

2
Contributors
2
Replies
4
Views
5 Years
Discussion Span
Last Post by WDrago
1

If you scan your root windows directory, you will notice multiple csc.exe files each in a directory separated by the particular platform.

I would (...have not tested this yet...) use the specific csc.exe found in the \Microsoft.NET\Framework\v2.0.nnnnn\ directory to compile just for Dot Net 2.

[minutes later]
I just tested this and it works by specifying the directory for the target framework.

Results:

using System;
using System.Linq;

namespace Test
{
   public class CTest
   {
      public static void Main(String[] args)
      {
         Enumerable.Range(1, 3).ToList().ForEach(n => Console.WriteLine(n));
      }
   }
}

C:\science\csharp>c:\winnt\Microsoft.NET\Framework\v2.0.50727\csc.exe One.cs
Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.3053
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.

One.cs(3,14): error CS0234: The type or namespace name 'Linq' does not exist in
the namespace 'System' (are you missing an assembly reference?)

C:\science\csharp>c:\winnt\Microsoft.NET\Framework\v3.5\csc One.cs
Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.


C:\science\csharp>one
1
2
3

Edited by thines01: Confirmation

Votes + Comments
Perfect solution to my problem!
0

That's it! Thank you! It's been driving me mad.

What a relief.

-Bill

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.