Автоматически сгенерированный код
Я работаю над отладкой некоторого кода и замечаю кучу автоматизированных сгенерированных методов и объектов.
В верхней части кода для них я нахожу следующий комментарий:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
Как выяснить, что сгенерировал код? Мое любопытство улучшило меня по этому поводу, поэтому я спрашиваю. Я искал части комментариев в Google и не нашел ничего конкретного.
Ответы
Ответ 1
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace FirstWeb
{
public partial class _Default
{
/// <summary>
/// form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
Вы не измените этот автоматически сгенерированный файл С#. Когда вы добавляете элементы управления ASP.NET на страницу, этот файл растет с дополнительными объявлениями. В старых версиях С# (до версии 2.0) и Visual Studio (до версии 2005) этот код будет также в файле Default.aspx.cs.
С введением частичных классов в С# код, принадлежащий одному классу, можно разделить на несколько файлов. Здесь вы видите "public partial class _Default", который используется для хранения кода , сгенерированного дизайнером Visual Studio. Вы увидите ту же подпись класса в файле Default.aspx.cs(вы используйте это, чтобы написать свой собственный код).
Итак, разработчик (вы) и разработчик (Visual Studio) могут работать независимо друг от друга, не перешагивая друг на друга.
Это взято из Первая веб-программа (веб-проект) в С# Explained
Ответ 2
Он будет полностью зависеть от кода.
Предположительно вы знаете класс, который вы отлаживаете, будь то часть ORM, часть сгенерированного прокси-сервера веб-службы и т.д. Это ключевой бит информации.
Ответ 3
Похож на Visual Studio. Попробуйте открыть только часть сообщения.
Ответ 4
Это также может быть файл .Designer.cs, созданный ResXFileCodeGenerator, который генерирует сильно типизированные оболочки для файлов .resx.
Ответ 5
Ну, что это за код? Большинство инструментов MS включают этот заголовок. xsd.exe
делает, sqlmetal
(LINQ-to-SQL) делает и т.д. Попробуйте посмотреть несколько строк... например, быстрый xsd-тест для меня показывает второй блок комментариев:
//
// This source code was auto-generated by xsd, Version=2.0.50727.3038.
//
Но этого не существует в коде LINQ-to-SQL...; - (
Ответ 6
Я думаю, что этот код был сгенерирован движком Linq to SQL.
вы можете изменить его, если вы понимаете, как кодировать с помощью Sql Enities
Ответ 7
Эти комментарии точно соответствуют тем, которые были найдены в некоторых моих справочных файлах службы. Это сгенерированные прокси файлы для служб WCF, поэтому, возможно, ваш код также находится в этой области.
Если вы не видите эти файлы в обозревателе решений, нажмите "Показать все файлы", и они будут отображаться как .cs файлы в ссылках на службы node.
Ответ 8
Это точный комментарий, который генерируется System.CodeDom при генерации файла из всего блока компиляции кода.
Ответ 9
Инструмент SVCUTIL от Microsoft (http://msdn.microsoft.com/en-us/library/aa347733.aspx) будет генерировать файлы исходного кода с этим комментарием в верхней части каждого файла, не идентифицируя себя как инструмент, который сгенерировал файл.