我正在编写一个msbuild脚本,它需要调用一个需要System.Guid类型的必需输入参数的任务。我在调试任务时所做的每一次尝试都在运行时因msbuild错误MSB4030而失败,该错误表明该值对于参数类型无效,该参数类型为“System.Guid”。我没有确切的英文错误消息,因为我正在进行西班牙语安装(与我希望的问题无关)。
我正在尝试按以下方式设置任务参数值:
<Target Name="SomeTarget">
<PropertyGroup>
<SomeGuidValue>955EC4F6-BE42-4249-9DED-FFE475E71824</SomeGuidValue>
</PropertyGroup>
<SomeTaskWithGuidArgument ThisIsTheGuidArgument="$(SomeGuidValue)" />
</Target>
我还尝试将属性值内联到任务参数,但没有成功。还尝试了一些其他guid格式,如System.Guid.ToString()的msdn文档中所示,但也没有成功。
我做错了什么?是否有支持的方式来调用此任务?
由于
答案 0 :(得分:1)
据我所知,MSBuild只为您解析基本类型。任务不应该期望System.Guid参数 - 它应该接受一个字符串并转换它自己。
请参阅Microsoft论坛上的this discussion,以进一步验证MSBuild不解析任务的GUID。他们最近也开放了MSBuild开源软件,所以你可以在那里挖掘来验证这一点。