Почему Code Contracts создает файл MyAssembly.Contracts.pdb? - PullRequest
2 голосов
/ 16 февраля 2012

При установке «Ссылочной сборки контракта» на «Построить» на вкладке «Контракты кода» свойств проекта создаются два дополнительных файла (для сборки с именем «MyAssembly») в подпапке «CodeContracts» выходной папки:

MyAssembly.Contracts.dll
MyAssembly.Contracts.pdb

Первый файл содержит все метаданные контракта, и я понимаю его использование.Что я не понимаю, так это почему создается второй файл, .pdb, и нужен ли он потребителям метаданных контракта (например, Code Contracts в другом решении, расширения редактора Code Contracts и т. Д.).

Если я хочу, чтобы другие потребители метаданных работали правильно, нужно ли мне также включать .pdb или это совершенно не нужно?

1 Ответ

3 голосов
/ 04 марта 2012

Я разместил этот вопрос на форуме MSDN Code Contracts и получил ответ от Мануэля Фандрича.

Статическая проверка использует созданный файл pdb для указания на контракт, который был нарушен в исходном коде (PDB используется для IL -> сопоставление исходного кода).Это полезно только для тех, кто написал контракт, так как без исходного кода контракт pdb будет мало полезен, поэтому нет необходимости отправлять .Contracts.pdb третьим лицам, только .Contracts.dll.

...