【问题标题】:What's the deal with the version number attached the name of the dll?dll名称附带的版本号是怎么回事?
【发布时间】:2012-10-09 20:59:29
【问题描述】:

我正在寻找有关如何使用其中的数字命名程序集的指南。

  1. 例如 msvcp100.dll 或 msvcp90.dll,为什么要附上版本号?
  2. 他们是如何得出这些数字的?这些是否适用于 .NET 程序集?
  3. Microsoft 或 有人知道文件的命名约定吗?

【问题讨论】:

  • 除了#3,我无法回答任何问题。没有版本号指南。如果您认为他们确实有指南,请查看 WinRT 和 .Net 4.5。他们发布了具有相同名称、公钥令牌和版本号的明显不同的程序集。你必须接受他们给你的东西,并希望他们保持半一致。

标签: c# visual-studio-2010 naming-conventions filenames


【解决方案1】:

您提供的有关 msvcp 的示例是因为它们是重大修订更改。很可能,msvcp100 的接口与 msvcp90 的接口不兼容。这些数字来自 Visual Studio 的版本(msvcp100 用于 Visual Studio 10.0 aka VS2010,msvcp90 用于 Visual Studio 9.0 aka VS2008)。

一般规则是,如果您破坏了接口,您可以添加一个数字或对 dll 的名称进行一些更改。在 .net 中,这意味着删除公共类/接口、方法以及在字段和属性之间进行更改。

还应该提到,由于“dll地狱”,操作系统将为您处理很多dll版本的问题(无需编号)。

【讨论】:

    【解决方案2】:

    例如 msvcp100.dll 或 msvcp90.dll,为什么要附上版本号?

    消费者可以立即看到他使用的二进制文件的版本。

    他们是如何得出这些数字的?这些是否适用于 .NET 程序集?

    数字的含义取决于架构师开发团队。对于消费者来说,知道X 版本解决了理想的问题(错误)或与其他东西兼容就足够了。这里与.NET 世界没有任何关系,这些只是文件名,所以是的你可以用同样的方式命名你的.NET 程序集。

    微软或其他人对文件的命名约定是否有任何可靠的指导?

    我也不知道。

    【讨论】:

      猜你喜欢
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多