2010-08-13 270 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未能建立第一個,但不是後者。

因此,如果您遇到了問題中所述的問題,請嘗試複製工作方法(如果有的話),如果不是可能刪除該文件並從頭開始。