Ошибка компиляции Visual Studio 2010 - PullRequest
2 голосов
/ 13 августа 2010

Я использую Visual Studio 2010 Ultimate на Win XP и у меня странная проблема.

Если я пытаюсь построить проект, в котором код не выполняется:

var html = $('<div>').append($('#top').clone()).remove().html();

Visual Studio останавливается с ошибкой, которая является нормальной.

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

Итак, вкратце: похоже, что Visual Studio придерживается строки, которую я уже удалил! Кто-нибудь еще имеет эту проблему или знает, как это исправить?

РЕДАКТИРОВАТЬ: Просто чтобы добавить больше информации.

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

Код метода:

$.fn.tristate = function (options)
{
    var defaults =
        {
            idSAll: ""
        };

    var options = $.extend(defaults, options);

    return this.each(function ()
    {

    }); // End of this.each
}; // End of tristate

И вызов метода:

$("#multiTest").tristate();

Где "#multiTest" - это div. И сообщение об ошибке:

"Ошибка Microsoft JScript: объект не поддерживает это свойство или Метод "

Он возникает при вызове метода (используется для происхождения из ошибочной строки кода) и уменьшается до

"jQery.ready ();" в jquery-1.4.2.js и оттуда к "fn.call (document, jQuery);"

РЕДАКТИРОВАТЬ 2: Перезагрузка компьютера не помогла, переименование метода тоже не сработало.

1 Ответ

0 голосов
/ 13 августа 2010

Я исправил проблему, но понятия не имею, почему это решило проблему.

Чтобы устранить проблему, я скопировал один из методов, который работал, изменил имя и удалил содержимое. По какой-то причине это сработало.

Неправильный метод:

$.fn.tristate = function (options)
{
    var defaults =
        {
            idSAll: ""
        };

    var options = $.extend(defaults, options);

    return this.each(function ()
    {
        var $obj = $(this);

    });
};

Неисправный метод:

$.fn.tristate = function (options)
{
    var defaults =
        {
            idSAll: ""
        };

    var options = $.extend(defaults, options);

    return this.each(function ()
    {
        var $obj = $(this);

    });
};

Как видите, между ними нет разницы!

Я даже сравнил их с программой под названием DiffMerge, и она не нашла различий! Тем не менее Visual Studio не может создать первый, но не последний.

Поэтому, если вы столкнетесь с проблемой, подобной той, которую я описал в этом вопросе, попробуйте скопировать рабочий метод, если он у вас есть, если нет, возможно, удалите файл и начните с нуля.

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