我已经开发了名为exportsolution的自定义msbuild任务,需要将自定义的packagetype值传递给它。
packageType很简单:
public enum PackageType
{
Managed,
Unmanaged,
Both
}
msbuild脚本也很简单:
<Target Name="ExportSolution" DependsOnTargets="BuildTasksDll">
<Message Text="Exporting solution '$(SolutionName)' to '$(SolutionPath)'" />
<ExportSolution SolutionName="$(SolutionName)" PackageType="Both"></ExportSolution>
</Target>
但是,运行该目标的脚本时,我收到以下错误消息:
错误msb4030:“both”是“exportsolution”任务的“packageType”参数的无效值。“packageType”参数的类型为“tasks.common.packageType”。
我应该以何种格式将值传递给packagetype的变量以使此代码工作?
最佳答案
我会像这样重构枚举。
public enum PackageType
{
Managed = 0,
Unmanaged = 1,
Both = 2
}
然后我将编辑我的构建脚本以使用整数作为选择方法。
<ExportSolution SolutionName="$(SolutionName)" PackageType=2></ExportSolution>
这可能不是你正在寻找的解决方案,但它可能为你所需要的工作。