gpt4 book ai didi

.net - 为什么代码契约(Contract)会生成 MyAssembly.Contracts.pdb 文件?

转载 作者:行者123 更新时间:2023-12-04 05:57:46 25 4
gpt4 key购买 nike

在项目属性的 Code Contracts 选项卡中将“Contract Reference Assembly”设置为“Build”时,会在输出文件夹的“CodeContracts”子文件夹中创建两个附加文件(对于名为“MyAssembly”的程序集):

MyAssembly.Contracts.dll
MyAssembly.Contracts.pdb

第一个文件包含所有契约(Contract)元数据,我了解它的用途。我不明白的是为什么要创建第二个文件 .pdb,以及契约(Contract)元数据的消费者是否需要它(例如另一个解决方案中的代码契约(Contract)本身、代码契约(Contract)编辑器扩展等)。

如果我希望元数据的其他使用者正常工作,是否也需要包含 .pdb,还是完全不需要?

最佳答案

我已经在代码契约(Contract) MSDN 论坛中发布了这个问题,并从 Manuel Fahndrich 那里得到了答案。

静态检查器使用生成的 pdb 文件指向源代码中违反的契约(PDB 用于 IL -> 源代码映射)。这仅对编写契约(Contract)的人有用,因为没有源代码,契约(Contract) pdb 几乎没有用处,因此无需发送 .Contracts.pdb对于第三方,只有 .Contracts.dll .

关于.net - 为什么代码契约(Contract)会生成 MyAssembly.Contracts.pdb 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com