【问题标题】:Where can I find the source code for System.Numerics.BigInteger? [closed]在哪里可以找到 System.Numerics.BigInteger 的源代码? [关闭]
【发布时间】:2012-08-25 15:55:50
【问题描述】:

我需要获取System.Numerics.BigIntegerORIGINAL 源代码,其中包含开发人员cmets 和合理的变量名称。 我知道如何反编译程序集,但这不是我要寻找的答案。

我尝试过的:

  • 下载 .NET 4 和 4.5 的源代码,但由于某种原因未包含 BigInteger。
  • 按照MS instructions 进行源步进,但由于this issue 使用SP1 和我没有在我的开发机器上回滚的选项,这不起作用。我也无法访问另一台具有开发功能的机器。

我相信你们中的许多人都使用过源代码步进来调试和/或查看 BCL 源代码。如果有,请发布 BigInteger 和相关代码作为答案。如果这样做跨越了任何法律界限,请告诉我同样的情况,以便我可以跳转替代方案。如果您确实提出了替代方案,请说明这样做的具体原因。

【问题讨论】:

  • 为什么你实际需要?你在找什么?
  • “System.Numerics.BigInteger”的源代码。我已经花了几天时间研究调试问题,而源代码是我最后的手段。我需要了解 BigInteger 的内部结构以完成一项紧急任务。
  • 你可以把 ILSpy 扔到System.Numerics.dll。就我个人而言,我避免查看 MS 的参考源或反编译的框架代码,但如果您不关心这些,反编译是一个简单的解决方案。我总是发现反编译的 .net 代码易于阅读。
  • @RaheelKhan is 的唯一可靠来源是referencesource.microsoft.com/netframework.aspx 如果您没有找到它,那么它目前不可用。许多其他商业软件包在没有完整注释源代码的情况下成功使用 .NET。如果您提供有关所需内容的详细信息,也许有人可以提供帮助。这里有一个参考源论坛:social.msdn.microsoft.com/Forums/en-US/refsourceserver/… 也许这是一个更好的地方问

标签: c# .net visual-studio-2010 debugging


【解决方案1】:

之前在 MSDN BigInteger source code 上已经问过这个问题

除非您可以访问私有的 Micrsoft 源和符号服务器,否则您不会使用代码 cmets 获得它。

源步进是您最好的选择。我也遇到过您提到的问题,并发现 RedGate 源步进器(在 VM 上试用 Reflector 的一部分)可以解决问题。

如果您没有时间编写自己的,另一种方法是使用第 3 方: http://www.codeproject.com/Articles/2728/C-BigInteger-Class

更新:

【讨论】:

【解决方案2】:

这是根据 JustDecompiler 的 BigInteger 源代码,给定框架的 BigInteger dll:http://pastebin.com/hFXJ7m8p

【讨论】:

  • 这是来自反编译器,提问者指出这还不够。
  • 但我看不出有什么理由,因为毕竟是源代码(只省略了 cmets,在这种情况下它们并不是真正需要的)
  • 我也不同意他的要求,但这是他要求的……
  • 嗯,很明显,除非您是编码员之一或可以使用 Microsoft 计算机或类似的东西,否则您实际上无法获得源代码...
  • 这是底线,it isn't available