2011-07-13 18 views

回答

7

海洋/海燕发布分类如下:

  • 主要版本:2009.1,2010.1,2011.1
  • 次版本或补丁:2009.2,2010.2,2011.2
  • 热修复: 2010.2.1,2010.2.2

主要版本不是二进制兼容的:根据2009.1编译的插件需要重新编译为与2010.1一起工作。对于API 2年的稳定性,它应该只是一个重新编译。您可能会对在下一个版本中弃用的过时API有警告,但它应该是一项快速任务。

次要版本通常是向后二进制兼容:Petrel 2010.2将能够运行使用2010.1编译的插件。但是,无法保证转发二进制兼容性:Petrel 2010.1不会运行使用2010.2编译的插件。
请注意,次要版本也可以引入少量新API。

修补程序始终向后二进制兼容:Petrel 2010.2可以运行使用2010.1,2010.2,2010.2.1编译的插件。但是,目前不能确保转发二进制兼容性:Petrel 2010.2不会运行使用2010.2.1或2010.2.2编译的插件。
修复程序不会引入新的API。

所以规则是:

  • 始终编译插件与过去的主要版本(你的情况2010.1),
  • 编译您的插件与最新的次要版本(2010.2),如果你绝对需要在这个补丁中引入一个新的API。
  • 决不编译针对热修复您的插件,

不遵守这些规则将迫使你的客户使用,部署或重新部署您使用的补丁或热修复来建立你的插件。这会延迟(最好的情况)或阻止(更坏的情况下)客户的插件销售/采用。

希望它可以帮助
问候
文森特

5

我还发现这是一个问题。我所做的就是为每个版本的Petrel保留公共文件夹的副本,并将引用链接到我希望编译的文件夹/版本,而不是始终链接到安装的petrel版本。您可以使用.targets文件轻松切换。然后我遵循文森特所说的内容,并确保引用合适的dll进行构建。

因此,即使我有Petrel 2010.2我在构建过程中引用了2010.1库。

格兰特

相关问题