Поколение файла разработчика перестало работать: не Мог загрузить файл или блок

У меня есть проект веб-приложения ASP.NET который ссылки другой проект под названием ModusCore (или Способ. Ядро). У нас было множество средств управления, которые используют ModusCore вплоть до сих пор без проблемы, но существует тот, который я создал в последнее время, это доставляло неприятности. Вот код:

public class PortalLinkNew : WebControl
{
    public string Text { get; set; }
    public bool AllowPush { get; set; }

    public PortalLinkNew()
    {
        AllowPush = true;
    }

    public IChannelRequest ChannelRequest { get; set; }

    protected override HtmlTextWriterTag TagKey
    {
        get { return HtmlTextWriterTag.A; }
    }

    protected override void AddAttributesToRender(HtmlTextWriter writer)
    {
        try
        {
            base.AddAttributesToRender(writer);
            if (DesignMode || Page == null || !(Page is IPortalPage))
            {
                return;
            }
            string href = "/";
            if (ChannelRequest != null)
            {
                var portalPage = (IPortalPage)Page;
                href = portalPage.Module.PortalRouter.GetLinkUrl(portalPage, ChannelRequest, AllowPush);
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Href, href);
        }
        catch (Exception)
        {

        }
    }

    public override void RenderEndTag(HtmlTextWriter writer)
    {
        writer.Write(Text);
        base.RenderEndTag(writer);
    }
}

В вышеупомянутом коде, IPortalPage и IChannelRequest интерфейсы, определенные в Способе. Ядро.

Мое намерение состоит в том, чтобы использовать это управление в моем коде следующим образом:

<tnl:PortalLinkNew ID="CancelButton" runat="server" Text="Cancel" OnInit="CancelButton_Init" />

Это на самом деле компилирует и работает без проблемы, но когда я редактирую страницу (исходное представление) в Visual Studio 2008, я получаю соблюдающее предупреждение:

Поколение файла разработчика перестало работать: не Мог загрузить файл или блок 'Способ. Ядро, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' или одна из его зависимостей. Система не может найти файл указанным.

Как это говорит, это не повторно создает файл разработчика, означая любую попытку относиться к CancelButton управление в коде - позади результатов в ошибке компилятора. Следующий совет, который я нашел онлайн, я попытался удалить соответствующий .ascx.designer.cs файл, и использовать "Преобразовывают в веб-приложение" на той странице, но это говорит мне, что не может восстановить файл разработчика по той же упомянутой выше причине.

Я попробовал все, о чем я могу думать: очистка решения, перезапуск Visual Studio, перезагрузка моего компьютера, удаление каталога кода и получение по запросу его только что из репозитория, удаления и передобавления проекта и dll ссылок, и т.д. Та же проблема происходит на нескольких компьютерах, которые я использую.

Как я могу заставить разработчика VS прекращать перестать работать?

6
задан StriplingWarrior 30 March 2010 в 20:56
поделиться

2 ответа

У меня очень похожая проблема (которую я пока не мог решить). Приложение, с которым у меня возникла проблема, было преобразовано из «проекта веб-сайта», и я не могу избавиться от ощущения, что это как-то связано с этим. И я использую VS 2005.

Теперь я могу добавить, что

а) «иногда» (я еще не мог понять, когда именно) у меня работает трюк «Преобразовать в веб-приложение» (но не всегда)

б) «иногда» (то же, что и выше) помогает переключиться на представление дизайнера, что-то изменить и сохранить -> * .designer.cs создается повторно

Я обычно пробую несколько вещей в порядке без исправлений после Я добавил элемент управления на свою страницу, пока "что-то" не сработает.

В Интернете много шума по этому поводу, но я не смог найти "настоящего исправления" (пока). Одна вещь, которую я прочитал помимо уже упомянутого, - это то, что это может иметь какое-то отношение к (не совпадающим / не существующим) пространствам имен.

Когда я проверил свое приложение, в * .cs-файлах действительно не было деклараций пространства имен . Поэтому я добавил их (в * .cs и *.aspx) и какое-то время думал, что это помогло. Но, к сожалению, теперь я знаю, что это не так ...

18
ответ дан 8 December 2019 в 02:19
поделиться

Я боролся с этой проблемой весь день, и вы бы не Не верю, в чем был виноват. Я отключил ReSharper 5.0, и внезапно ошибки исчезли. Невероятный.

2
ответ дан 8 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: