我试图创建一个自定义任务生成中间的.csproj文件(见this职位的原因。)的MonoTouch:自定义MSBuild任务的错误
自定义任务是在目前引用的DLL。网2.0组件。
实验msbuild/xbuild启用MonoDevelop设置强制MonoDevelop使用xbuild构建项目。
我能够在命令行中运行它,通过它通过<UsingTask>
元素引用该任务的项目:
~/src/All/workspace/XBuildExt/bin/Debug> mono /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/3.5/xbuild.exe ../../XBuildExtTest.targets XBuild Engine Version 2.10.8.0 Mono, Version 2.10.8.0 Copyright (C) Marek Sieradzki 2005-2008, Novell 2008-2011. Build started 2/27/2012 4:26:15 PM. __________________________________________________ Project "/Users/bright/src/All/workspace/XBuildExt/XBuildExtTest.targets" (default target(s)): Target Build: It works! Done building project "/Users/bright/src/All/workspace/XBuildExt/XBuildExtTest.targets". Build succeeded. 0 Warning(s) 0 Error(s)
然而,在MonoTouch的项目相同的代码失败:
Error initializing task GenerateMdToolProject: Cannot cast from source type to destination type. Task "GenerateMdToolProject" execution -- FAILED
问题:
- 我发现this old post它指示问题在Mono 2.8中被修复。 MonoTouch也是如此吗?
- 我可以使用.net 3.5功能(特别是System.Xml.Linq)来编写自定义任务吗?
我使用上述的实验性msbuild设置,因此您的答案不适用。这篇文章(以及它在第一段中引用的那篇文章)的原因是使用msbuild和一个自定义任务来创建一个工作版本。 – bright 2012-02-27 11:46:41
另外,上面的错误清楚地表明特殊逻辑没有被检测到。我们一直在努力工作数天,并取得了很多成功的进展,因此请 - 没有样板的答案。在这一点上,我们在MonoTouch构建代码方面已经深入人心。 – bright 2012-02-27 11:50:10