2010-08-13 275 views
2

我在Win XP上使用Visual Studio 2010 Ultimate,并遇到一个奇怪的问题。Visual Studio 2010编译错误

如果我尝试在代码无法建立一个项目:

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 error: Object doesn't support this property or method"

它起源于在调用方法(使用的代码故障线路来发起)和下降至

"jQery.ready();" in jquery-1.4.2.js and from there to "fn.call(document, jQuery);"

编辑2:重新启动计算机没有帮助,重命名该方法也没有工作。

+1

尝试删除上面和下面的几行...这可能是一个奇怪的字符滑落在那里,编译器不喜欢。 – 2010-08-13 11:01:59

+0

@Nick Craver我删除了这条线的方法,并没有运气。 – Hjalti 2010-08-13 11:10:55

+0

@Hjalti - 下一步,是什么*错误?总是,永远,总是发布你得到的错误,这是有原因:) – 2010-08-13 11:11:43

回答

0

我解决了这个问题,但我不知道为什么它解决了这个问题。

为了解决这个问题,我复制了其中一个工作方法,更改了名称并删除了内容。出于某种原因,这工作。

故障方法:

$.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未能建立第一个,但不是后者。

因此,如果您遇到了问题中所述的问题,请尝试复制工作方法(如果有的话),如果不是可能删除该文件并从头开始。