Почему Visual Studio не может обновить сигнатуры методов? - PullRequest
0 голосов
/ 12 июня 2009

<rant>
В разработке самой большой временной потерей, похоже, является Visual Studio. Решение проблем с ним съедает половину моего времени разработки, а у меня остается половина отведенного времени!
</rant>

Вернуться к вопросу. У меня есть несколько пользовательских элементов управления, разработанных в ASP.NET: RaiseEventControl, HandlerControl. Они проживают в родительской форме. Идея состоит в том, чтобы RaiseEventControl запускал Событие, родитель (через добавление обработчика) отправляет событие в HandlerControl. Легко, как пирог.

Все работало хорошо, но мне пришлось изменить подпись мероприятия. После изменения подписи Visual Studio отказывается замечать это изменение.

Я пытался перекомпилировать сайт. Открытие и закрытие Visual Studio (я знаю, слабый соус, но он работает для окон.) Я попытался найти проблему в Google и ничего не нашел. Я не совсем уверен, как сформулировать проблему, поэтому я не могу найти решение.

Итак, вы знаете, почему VS не будет обновлять мои подписи событий?

Ответы [ 3 ]

2 голосов
/ 12 июня 2009


Я предпочел бы стучать десятью гвоздями по центру в мою дыру, чем код за пределами VS.

Когда Visual Studio когда-либо подвергался такому рефакторингу? Методы в aspx / cx / whatx обрабатываются как магические строки вместо имен методов. Фактически, поскольку эти страницы являются XML, они являются волшебными строками. Visual studio никогда не обновляла XML (aspx / xaml / xoml) для отражения изменений в коде. Просто никогда этого не делал.

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

Почему он этого не делает? Потому что это не закодировано. Может быть, они включат это в свою поддержку рефакторинга. Или, может быть, вам просто нужно получить один из множества доступных надстроек (например, ReSharper), которые добавляют такую ​​поддержку. А также делать множество других вещей, которые Visual Studio не делает.

Если бы они могли выбить десять гвоздей, я бы мог использовать один или два из них.

0 голосов
/ 12 июня 2009

Пользовательские элементы управления находятся в отдельной сборке? Если да, то обычно это помогало, когда я просто перекомпилировал все решение или, если это не помогло, просто удалил ссылку на сборку и добавил ее обратно. Но тогда я использую WinForms или WPF и не знаю как обстоят дела в ASP.NET.

0 голосов
/ 12 июня 2009

Можете ли вы объяснить, что вы подразумеваете под "Visual Studio не замечает"? Разве это не отображается в раскрывающихся списках, в сетке свойств и т. Д ...

Если Visual Studio не замечает после перекомпиляции и перезапуска, это почти наверняка проблема в том, как вы обновили подпись. Visual Studio не кэширует этот тип информации между сеансами, а пересчитывает ее при каждом открытии. Так что это просто пересчитывает каждый раз старую подпись. Это должно присутствовать еще в каком-то месте вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...