如何通过命令行指定csc.exe C#编译器的目标框架版本(例如,没有.csproj文件且不通过MSBUILD引擎)? 例如,如何使用C#3.0 csc.exe编译器将代码编译成针对2.0 .net框架的IL代码?
在C# 3编译器的特定情况下,只要不使用任何不在.NET 2.0中的程序集或类型,就不会出现问题 - IL代码是相同的(与针对1.1的情况相反)。此外,您可以使用/noconfig /nostdlib,然后明确引用.NET 2.0程序集(例如,在c:\Windows\Microsoft.NET\Framework\v2.0.50727中)。看起来/lib命令行选项可以通过让您指定一个目录来查找引用来使这个过程稍微容易一些,但我自己没有尝试过。