में विफल हो गई है, मैंने कुछ अजीब बातों में ठोकर खाई: मुझे BadImageFormatException
मिला बिना यह जानने के बिना कि कौन सी छवि (असेंबली) संभवतः संदर्भित हो सकती है।कंपाइलर बग? जिसके परिणामस्वरूप एक खराब छवि है जो PEVerify
मैं समाधान कम इतना है कि यह केवल कोई निर्भरता के साथ एक एकल परियोजना के होते हैं:
आप देख सकते हैं, यह केवल System
(और mscorlib
) का उपयोग करता है, और निश्चित रूप से मैं डॉन ' रन समय पर असेंबली लोड करें।
यह सीई 6 के साथ .NET 4.5.2, वीएस 2015 के साथ AnyCpu के रूप में संकलित करता है, हालांकि इनमें से कोई भी वास्तव में मायने रखता नहीं है।
मैंने सी # 5 के साथ नमूना बनाने की कोशिश की, लेकिन एक बार जब मैं सभी "?" को प्रतिस्थापित करता हूं ऑपरेटर, यह हो रहा है।
git clone -b crash-sample https://github.com/jtheisen/moldinium.git
मैं साफ-बनाया गया है और 4 मशीनों पर यह परीक्षण किया है, सभी एक ही प्रभाव दिखा:
मैं इतना है कि लोगों को यह खुद को कोशिश कर सकते हैं परियोजना की मेजबानी की है।
दुर्घटना के स्टैक ट्रेस है:
[IL]: Error: [C:\Source\Repos\moldinium\ConsoleApplication1\bin\Debug\Bad.exe : IronStone.Moldinium.LiveList+<>c__DisplayClass10_0`1[TSource]::b__2][offset 0x0000013B] Unable to resolve token.
Select.cs फ़ाइल से सभी ?.
ऑपरेटरों निकाला जा रहा है समस्या का समाधान:
Ex.: System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at IronStone.Moldinium.LiveList.<>c__DisplayClass10_0`1.<Where>b__2(ListEvent`1 v)
at IronStone.Moldinium.ActionObserver`1.OnNext(T value) in C:\Source\Repos\moldinium\ConsoleApplication1\Rx.cs:line 51
...snipped...
उत्पादन पर PEVerify चल रहा है निम्न त्रुटि पैदा करता है ।
ILSpy का उपयोग करते हुए मैं करने के लिए समस्या अलग-थलग कर दिया है: एक सार here में
IronStone.Moldinium.LiveList.<>c__DisplayClass10_0`1.<Where>b__2
आप विधि के आईएल डंप देख सकते हैं (ILSpy के माध्यम से)। खराब आईएल ?.
का उपयोग करते समय गुड आईएल सी # 5.0 शैली है।
यह VS2015.3
CSC Version: Microsoft (R) Visual C# Compiler version 1.3.1.60616
@ डेवशॉ ऐसा लगता है कि मैं आपको भाग्यशाली हूं। मैं यहाँ अपनी गहराई से बाहर हूँ। – John
मैंने प्रश्न फिर से लिखा है और संकलक बग और रनटाइम दुर्घटना के बारे में कम होने के लिए मेरी टिप्पणियों को शामिल किया है। – DaveShaw
आप इसे https://github.com/dotnet/roslyn/issues –