2009-07-08 4 views
1

Полтора года назад Microsoft released the source code for the .Net Framework BCL для целей отладки. Это невероятно полезное предложение оказало огромное влияние на мой опыт отладки.Как мы можем заставить Microsoft поддерживать исходный источник .Net?

Было упомянуто, что они работают, интегрируя исходный выпуск в свой процесс сборки, но это, похоже, провалилось.

Последние выпуски сборников .Net Framework (включая исправления и исправления) вообще не имеют источника.

Что мы можем сделать, чтобы убедить Microsoft сохранить это превосходное предложение, особенно для предстоящего выпуска .Net 4.0?

+0

я недавно узнал, * почему * Microsoft пока не обновление опубликованного источника после патчей и исправлений вышли: Если они выпускают источник патча безопасности сможет увидеть, что такое дыра в безопасности, и более легко попытаться его использовать. Они ждут следующего полного пакета обновления (когда, надеюсь, все будут обновлены), чтобы освободить источник. –

+0

@IanBoyd: На самом деле это не аргумент; это не сложно определить IL. (особенно с Reflector & pals). На самом деле сложнее извлечь и упорядочить исходный источник. – SLaks

ответ

1

FYI, Microsoft обновил единственный исходный код .NET и возобновил свою приверженность отладке с помощью этого источника. Более подробную информацию см http://blogs.msdn.com/b/dotnet/archive/2014/02/24/a-new-look-for-net-reference-source.aspx

Для получения более подробной информации о новинках и самой проблемы отладки, пожалуйста, см http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4083118-allow-developers-to-step-through-net-framework-so?tracking_code=a2bdc91a2d6e3e23062eb6b606a5d33f

1

Мы лично не можем. Может быть, с достаточным давлением со стороны сверстников нам может повезти, но если люди из Microsoft не решат следовать за ним, они застряли с тем, что они решили дать нам:/

Я слышал, что они больше работали с моногруппой.

На другой ноте, дать этому прочитанный:

Microsoft will be applying the Community Promise patent licensing to both C# and the CLI.

... дал мне улыбку раньше.

3

Относительно примечания, я хочу, чтобы Microsoft улучшила их стриптизерскую работу.

Перед выпуском исходного кода он запускается через автоматическую утилиту, которая заменяет имена разработчиков Microsoft [....].

Однако данная утилита не ограничивается комментариями. Если фрагмент кода содержит имя входа разработчика, он также заменяется, вызывая большое количество синтаксических ошибок, которые загрязняют список ошибок в VS2008 SP1.

Например, линия 5200 из ToolStrip.cs является

 private RelativeLocation ComparePositions(Rectangle [....], Point check) { 

Имя параметра фактически orig (см рефлектор).


Кроме того, некоторые из более сочных битов фреймворка вообще не имеют источника.

Классы Odbc и OleDb в System.Data, код файла Zip в WindowsBase и несколько других файлов содержат несколько сотен пустых строк без исходного кода.

+0

Все тезисы были исправлены. – SLaks

3

Я не верю, что они очень заботятся об этом. Если вы просто хотите увидеть и узнать из кода, вы можете дать .Net Reflector. Но я думаю, что вы больше заботитесь об опыте отладки. В этом случае я не думаю, что мы сможем многое сделать.

+1

Мне также нужны комментарии, а исходный код для итераторов (какой рефлектор плохо справляется). – SLaks

0

Как альтернатива использованию источников Microsoft, вы видели интеграцию отладчика TestDriven.NET с Reflector? Это, по сути, позволяет вам пройти через разобранный ИЛ сборки.

Jaime Cansdale дает обзор в this article.

Смежные вопросы