【发布时间】:2023-03-28 08:38:01
【问题描述】:
我正在使用 Visual Studio 2010。
我已经下载了一个更新的类(即UpdatedClass.cs),它有一个带有可选参数的方法,例如:
public void DoThis(bool aValue = false) {...}
使用 Visual Studio 2010,我能够编译它。但我不能用 MSBuild 做到这一点:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe /t:Rebuild /clp:ErrorsOnly D:\folder\mySolution.sln
ln
Microsoft (R) Build Engine Version 3.5.30729.5420
[Microsoft .NET Framework, Version 2.0.50727.5448]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
UpdatedClass.cs(29,94): error CS0241: Default parameter specifiers are not permitted
好吧,这个编译器不允许使用可选参数。那么我可以在这个 MSBuild 命令中添加一个额外的参数来忽略这种错误吗?
或者我必须使用 C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe 编译项目吗?
这对于 asp.net 项目是否安全?
【问题讨论】:
-
可选参数在 4.0 框架中,因此您必须使用兼容的编译器构建它。 (如果您尝试使用不同的目标版本进行构建,您会在 Visual Studio 中看到相同的错误。)
-
@GalacticCowboy:可选参数从 1.0 开始就在 framework 中,但直到 v4 才在 C# 中可用。
标签: asp.net msbuild-4.0