montaj

2012-07-22 31 views
8

ben monomontaj

Derleme komutu ile kütüphaneyi Newtonsoft.Json.dll kullanan bir program derlemek çalışıyorum den tipi System.Runtime.Versioning.TargetFrameWorkAttribute yüklenemedi

gmcs Program.cs etcetera.cs -r:Newtonsoft.Json.dll -r:Argotic.Core.dll 

Sonuç:

Missing method .ctor in assembly Newtonsoft.Json.dll, type System.Runtime.Versioning.TargetFrameworkAttribute 
Can't find custom attr constructor image: Newtonsoft.Json.dll mtoken: 0x0a000053 

Ve sonra programı çalıştırmaya çalışırken (mono Program.exe) hata atar:

Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.Versioning.TargetFrameworkAttribute' from assembly 'Newtonsoft.Json'. 

    at my_program.CJSONStuff.serialize (System.Collections.Generic.Dictionary`2 obj) [0x00000] in <filename unknown>:0 

    at my_program.TheObjDB.getAllSerialized() [0x00000] in <filename unknown>:0 

    at my_program.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'System.Runtime.Versioning.TargetFrameworkAttribute' from assembly 'Newtonsoft.Json'. 

    at my_program.CJSONStuff.serialize (System.Collections.Generic.Dictionary`2 obj) [0x00000] in <filename unknown>:0 

    at my_program.TheObjDB.getAllSerialized() [0x00000] in <filename unknown>:0 

    at my_program.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 

Daha önce hiç mono kullanmamıştım ve neler olup bittiği hakkında hiçbir fikrim yok .. ama belki de bu DLL'nin mono ile de derlenmediği için kullanılamayacağı anlamına mı geliyor? Eğer durum buysa; Bu aynı zamanda kaynak kodu yok sürece ben mono ile herhangi bir 3d parti DLL kullanamazsınız anlamına mı geliyor?

cevap

6

Varsayılan mono v 2.0 çalışma zamanını kullanıyor, ancak nuget v4.0 kullanıyor. onun mono üzerinde çalışma zamanı parametresi tanımlayarak kararlılığını olabilir:

mono --runtime=v4.0.30319 NuGet.exe 

Kaynak: http://monomvc.wordpress.com/2012/03/06/nuget-on-mono/

+0

sayesinde pencerelerde iyi çalıştı! İlişkili olmayan bir notta, linux sais 'bu uygulama tarafından desteklenen çalışma zamanı sürümü, varsayılan çalışma zamanı v1.1.4322' kullanılarak kullanılamaz, ancak bu tamamen farklı bir soruna benziyor. Yapabileceğim zaman cevap kabul eder. – natli

+0

Bu konuyu incelediniz mi: http://stackoverflow.com/questions/5327672/running-net-4-application-with-mono – Tarik

+0

Evet, apt-get install mono-complete 'yüklü sürüm 2.6.7 gibi görünüyor .net 4.0 için en az 2.8'e ihtiyacım var ... kaynaktan 2.10'u yüklemem gerekiyor gibi görünüyor .. bah. Yine de teşekkürler! – natli