我试图用ServiceStack在我目前的项目,但发现公布的二进制文件不强命名,所以我不能用它的开箱。 当在GitHub上问“为什么”,我得到了如下回答:
这是病毒的毒性和阻碍绑定,升级,开发,部署,等等。
mythz是非常简洁的,所以我不想打扰他越来越要求在这里。 我用了很多像AutoMapper,NUnit的,起订量,log4net的,Ninject等,其释放的开源.NET项目都强命名。 发现了类似的问题在这里,就这样,不过这并不能帮助我。 它是在OSS通常的做法? 为什么不放开符号和无符号二进制文件?
这也是为什么强命名为开源项目是一个坏主意的原因上现有的讨论:
https://groups.google.com/forum/?fromgroups#!topic/getglimpse-dev/pXXazMOOdjE
下面是使用它的噩梦故事:
http://haacked.com/archive/2012/02/16/changing-a-strong-name-is-a-major-breaking-change.aspx
我个人一直在已经通过2代log4net的的那些试图使用组件引用log4net的2个不同的强命名的版本在同一项目中遭遇2队 - 浪费了大量的时间和精力,努力使这项工作不好玩,也不是我们计划受到自己或授权我们的所有用户都太的东西。
希望强命名版本的用户可以自由地签署自己的克隆/叉公共ServiceStack回购 。
如果有它的需求,我们会考虑维护我们自己的“正式烧焦”我们的商业库的版本。
我认为这是给开发者。 优点是明确的 - 任何人都可以装配具有很强的名称,并在任何环境中使用它。 在这种特殊情况下,我从符号或无符号组装的意思。 缺点 - ?
我认为它应该是一个有点绅士规则签署的二进制文件 。
乔恩斯基特回答了类似的问题 ,他的意见是相当undestandable。