后台:当我为我的地图项目生成代码时,无论我将哪种文件类型发送到命令,都只会运行一个地图。
我想修改项目代码生成,以便在生成地图时,applicationConsole.cs允许多个文件和文件类型,并根据我发送的参数选择适当的地图。
到目前为止,我的项目包含4个地图,每个地图都不同,并且有一个参数指示是否运行地图。生成代码后,applicationConsole.cs在运行映射时不会区分。 applicationConsole.cs中列出的第一个映射是运行的,而其他映射则不是。如果第一个地图与给定参数匹配,则输出正确,但如果下一个文件不匹配,控制台将关闭而不是继续下一个地图。
我试图避免直接操作applicationConsole.cs,因为必须经常生成代码。
问题:有谁知道如何根据文件类型修改Mapforce Project代码生成的输出以添加地图类型的开关?
答案 0 :(得分:0)
在altova mapforce应用程序安装目录中,有一个SPL目录。这是根据您选择的语言生成自动生成代码。
备份该目录并根据您的要求修改SPL目录代码。 你需要学习SPL(间谍程序设计语言)。
http://manual.altova.com/Mapforce/mapforce-enterprise/index.html?cgthewaytospl(spyprogrammingla.htm
如果您还有其他需要,请在此告知我。我对自定义SPL有很好的掌握。
谢谢
答案 1 :(得分:0)
看看Java和C#下的重构
实际上,当您查看生成的存根代码并且需要组合一些映射时,第一个重构任务是重命名命名空间,Altova使用它的命名空间作为默认值,因此mapa命名空间对mapb命名空间有帮助。 / p>
我将提供C#示例 http://msdn.microsoft.com/en-us/library/vstudio/6kxxabwd.aspx
然后你有控制台应用程序,所以你想复制applicationConsole.cs并将它重命名为你的项目名称或类名,然后提取方法
http://msdn.microsoft.com/en-us/library/vstudio/0s21cwxk.aspx
最后,您需要提取接口以返回异常构造函数 http://msdn.microsoft.com/en-us/library/vstudio/fb3dyx26.aspx 和: http://msdn.microsoft.com/en-us/library/tz6bzkbf.aspx
您将拥有一个项目,您的初创公司是您在项目或解决方案文件夹中复制和重命名的原始applicationConsole.cs。当您更新地图时,您应该能够使用Mapforce生成的内容覆盖该文件夹中的代码。
此文件由MapForce 2013r2sp2生成。 你不应该修改这个文件,因为它会 当您重新运行代码生成时超出范围。 有关更多详细信息,请参阅MapForce文档
这是您将在该文件中看到的内容,使用上面概述的技术,该工具非常易于使用。如果您是桌面程序员,重构可能是新的,但它可以节省大量的时间和精力,使产品完整。