2011-10-07 19 views
10

Son birkaç gün için, çözümümü her derlediğimde (MVC 3 Web Uygulaması + diğer birkaç proje) Bu hatayı Hata Listesinde alıyorum:Önemli hata, devam edemiyor: 'ToStringJS' yöntemi jenerik değil

hata bir css dosyasına ilgili olduğundan

Fatal error, cannot continue: The method 'ToStringJS' is not generic (Site.css, line 1, column 1).

açıkçası ben projeyi çalıştırabilirsiniz.

CSS dosyasında hata göremiyorum.

Tüm css dosya içeriğini silsem bile, bu hatayı almaya devam ediyorum. Ancak, intellisense ve ReSharper çalışmaya devam ederken, kod vurgulaması ortadan kalktı.

Bu sorunun nereye bakılacağından emin değilim (Googling, herhangi bir sonuç getirmedi, Stack Exchange veya başka belirli siteler). Bir ReSharper sorunu olabilir, ancak R # 'i suçlamak için gerçek yollara sahibim, bu yüzden onlarla iletişime geçmeden önce buradan başlamak istiyorum.

+0

Bu sorunu da görüyorum, ancak yeniden yükleyici yüklü değil. Ancak, chirpy yüklü var mı? –

+0

Hayır, bildiğim kadarıyla. En azından bu ReSharper'ı hariç tutuyor. –

+0

Ben de aynı sorun var ... Ben de soruna bir lütuf ekledim .. –

cevap

10

siz alıyorsanız hata Chirpy Eklenti tarafından kullanılan Jurassic kütüphanesinden gelir.

Chirpy ve Jurassic kaynaklarında kısa bir arama yaptım ve istisnanın atıldığı yeri belirledim ve anlattığınız soruna neden oluyor.

Jurassic kaynaklarında Jurassic\Compiler\Binders dizinine gidin ve JSBinder.cs dosyasını açın. Sorunlar, başka bir yöntem ... yayadayada üretmek için kullanılan protected override void GenerateStub(ILGenerator generator, int argumentCount) yönteminde ortaya çıkar. Oldukça karmaşık.

Neyse. Eğer biraz daha derine digg istiyorsanız, size public static string ToStringJS(ScriptEngine engine, object thisObject) uygulanmaktadır Jurassic\Library\Array\ArrayInstance.cs ve Jurassic\Library\Object\ObjectInstance.cs bakmak olabilir

// Line 156 (Change Set df266524321d) 
// Convert to the target type. 
EmitTypeConversion(generator, typeof(object), argument.Type); 

if (argument.Type != typeof(ObjectInstance) && inheritsFromObjectInstance == true) 
{ 
    // EmitConversionToObjectInstance can emit null if the toType is derived from ObjectInstance. 
    // Therefore, if the value emitted is null it means that the "thisObject" is a type derived 
    // from ObjectInstance (e.g. FunctionInstance) and the value provided is a different type 
    // (e.g. ArrayInstance). In this case, throw an exception explaining that the function is 
    // not generic. 
    var endOfThrowLabel = generator.CreateLabel(); 
    generator.Duplicate(); 
    generator.BranchIfNotNull(endOfThrowLabel); 
    generator.LoadArgument(0); 
    EmitHelpers.EmitThrow(generator, "TypeError", string.Format("The method '{0}' is not generic", binderMethod.Name)); 
    generator.DefineLabelPosition(endOfThrowLabel); 
} 

: Burada alıyoruz hatalardan sorumlu olduğunu dosyadan kod. Ayrıca, lib dosyasında CSSLint.cs dosyası, bir miktar ilginç kod satırı içerir (Jurassic'un kullanıldığı yerler).

Kabul etmeliyim, neden "ölümcül hata" elde ettiğinizi veya sorunun nasıl düzeltilebileceğini tam olarak bilmiyorum. Bu biraz test/debuggin çalışması gerektirir. Kimse?

Neyse, Resharper'ı suçlama! Bu harika bir yazılım ;-)

+2

Hey, R # suçlamıyorum:; bu soruyu açmadan önce, ben bile ne olduklarını bilmiyordum) Jurassic chirpy/Hakkında müthiş bir araçtır ve onların destek de harika. Gerçekten de onu yükledim, ancak neden veya ne zaman yüklediğimi hatırlamıyorum. Şu anda onun özelliklerine ihtiyacım yok, bu yüzden özgürce kaldırabilir ve sorunu çözebilirim. –

+0

Test etmede yardımcı olmaktan memnuniyet duyarız, ancak sorun son 2-3 hafta içinde ortadan kayboldu. Ortamımda değiştirilen tek şey Parallels Desktop sürümünü kullanıyorum (evet, ben bir Mac'im, ancak Windows for Work'ü kullanmalıyım;): Sorunun Parallels tarafından neden olduğuna inanamıyorum:) –

5

Sorun CSSLint ile. Kaynak kodunu indirebilir ve düzeltmeyi deneyebilirsiniz ya da basitçe devre dışı bırakabilirsiniz.

Araçlar> Seçenekler> Chirpy> CssLint

işaretini kaldırın 'Run CSS Lint' kutusuna gidin.

Eğer JS ile aynı sorunla karşılaşırsanız

yanı bu sorunu vardı ve bazı geçersiz css sabitleme bunu çözmüş

+0

Tam olarak hangi çevreye başvurmaktasınız? VS2010 içinde : Araçlar - '> Seçenek hem Araçlar ve Seçenekler vardır R # bir "Böcek" öğesini içermez, ancak Araçlar-> Seçenekler Bunlar Düşündüğüm iki ortamlarıdır, ama seni herhalde Tamamen farklı bir şeyden bahsediyorum. –

+0

Devre dışı, hala oluyor. :( – rball

+0

@rball:.., Yazılı bir sonucu olarak sorun bir yazım hatasıdır ScottCate cevabını bakın Benim durumumda oldu:! Yerine 35px – awrigley

3

JSHint devre dışı fazla. Benim durumumda geçersiz css (yanlış süreyi fark ettiniz mi?

#exposeMask{.visibility:hidden;} 

Yazım hatası düzeltildikten sonra, her şey yeniden yaşandı.

+1

1 İyilik 35x bulmak Benim durumumda web sitesi şablonu tasarımcısı bazılarında koyuyordum "cool" tasarım imzasının bir parçası olarak CSS'deki tuhaf non-ascii sembolleri (ascii art gibi bir şey ama ascii karakter kümesi dışındaki karakterler) Yorumların parçası olmasına rağmen, bu garip karakterler bir problemdi. ascii karakterleri sorunu çözdü! Chirpy 2'yi çalıştırıyorum. – BenSwayne

+1

Harika, sorunu olan bir 1320 satır css dosyasına sahibim Groan.Güzel iğneyi aramaya devam edeyim ... – rball

+0

Eğer Chirpy sadece size nerede olduğunu söylese kaynak çizgisi ToStringJS için hata - bu harika olurdu! – SliverNinja

0

Geç partiye biraz olabilir, ama sadece Chirpy eklenti Visual Studio 2010 yüklü ve neredeyse anında bu hataları içine koşmaya başladı.

Ben Araçlar> Seçenekler, ardından Chirpy> CssLint ve kontrolsüz "Run CSS Lint" girdi. Tada! Daha fazla hata yok.