我试图在当前的项目中使用ServiceStack,但发现发布的二进制文件没有强名称,所以我无法立即使用它。当在GitHub上问“为什么”时,我得到了以下答案:
神话非常简洁,所以我不想再打扰他了。我使用了许多开放源码的.NET项目,如AutoMapper、NUnit、Moq、log4net、like等,它们的发行版本都有很强的名称。在这找到了相似问题,但对我没什么帮助。在开放源码软件中这是正常的练习吗?为什么不同时发布已签名和未签名的二进制文件呢?
发布于 2012-07-26 01:39:10
下面是关于强命名对于开源项目来说是个坏主意的原因的讨论:
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
我个人曾在两个团队中遭受过两代Log4Net的痛苦,他们试图使用程序集来引用同一个项目中的两个不同的强命名版本的Log4Net --浪费大量时间和精力来完成这项工作,这并不有趣,也不是我们计划让自己或授权给所有用户的事情。
想要一个强名版本的用户可以自由地签署他们自己的公共ServiceStack repos克隆/分叉。
如果有需求,我们将考虑维护我们自己的“正式签署”的商业版本的图书馆。
发布于 2012-07-25 22:52:52
我认为这取决于开发人员。优点是明确的-任何人都可以使用强大的名称,并在任何环境中使用它。在这种特殊情况下,我指的是签名或未签名的程序集。犯人-?
我认为,签署二进制文件应该是一种绅士的规则。
乔恩·斯基特在类似的问题上回答说,他的观点是完全站不住脚的。
https://stackoverflow.com/questions/11656520
复制相似问题