![](/img/trans.png)
[英]Wrap IL into an assembly written on disk in C# / .NET Core?
我正在創建基於原始IL的.NET方法。 我想將獨立的新創建的方法包裝到.NET程序foo.dll ,然后將該程序集作為foo.dll文件寫入磁盤,以便將該程序集饋入PEVerify或ILVerify 。 的確,在調試大型定制IL序列時,這些工具非常寶貴。 有誰知道如何使用.NET Co ...
[英]Wrap IL into an assembly written on disk in C# / .NET Core?
我正在創建基於原始IL的.NET方法。 我想將獨立的新創建的方法包裝到.NET程序foo.dll ,然后將該程序集作為foo.dll文件寫入磁盤,以便將該程序集饋入PEVerify或ILVerify 。 的確,在調試大型定制IL序列時,這些工具非常寶貴。 有誰知道如何使用.NET Co ...
[英]C# System.TypeInitializationException When Generic Types used
當我嘗試調用以下代碼時,我在C#中收到System.TypeInitializationException: BuyShopItem在外部程序BuyShopItem ,並且包含以下內容: 可能是因為外部裝配,對吧? 不幸的是,我無法更改它,因為我需要再次將BuyShopIt ...
[英]Verification error on unsafe c# return type using Peverify and ILVerify
我在驗證一些包含返回指針的不安全方法的代碼時遇到了這個問題。 示例可以表示為: 我使用兩個單獨的驗證工具,即ILVerify和Peverify。 重現步驟: 使用csc example.cs /t:library /unsafe編譯示例代碼 驗證peveri ...
[英]How can I ensure an unverifiable .NET assembly is valid?
.NET應用程序分布在稱為程序集的文件中,該文件包含元數據和公共中間語言(CIL)代碼。 .NET遵循的標准ECMA-335 II.3指出了兩個相似的術語之間的區別: 如果裝配符合標准,則該裝配是有效的。 驗證是指在任何文件上應用一組測試來檢查文件的格式,元數據和C ...
[英]Why is this code failing to verify?
我有一個正確構建和運行的編譯器,但PEVerify在某個時刻稱其無法驗證。 仔細查看錯誤,相應的源代碼和相關點的ILDasm輸出后,我找不到問題,我懷疑PEVerify中存在錯誤,除了.NET和Mono版本在同一個地方報告相同的錯誤。 有問題的方法如下: 該錯誤報告為: ...
[英]How to correct Stack UNDERflow error
嘗試在我正在使用優化程序進行編譯的應用程序中執行特定過程時,出現InvalidProgramException(Visual Studio 2015)。 我使用PEVerify來了解問題所在,它告訴我“ Method [offset 0x00000351]堆棧下溢”。 顯然,我可以通過關 ...
[英]What does “Illegal use of type 'void' in signature” mean?
我有一個正在生成程序集的編譯器。 當我加載程序集並嘗試在其類位於該程序集中的對象上運行方法時,它將引發異常: System.InvalidProgramException:公共語言運行時檢測到無效程序。 隨着錯誤消息的流逝,這僅與UR COMPILER SUXX0RZ LOL ...
[英]Changing callvirt to call in IL
在使用IL的一些實驗中,我試圖在程序callvirt更改callvirt調用以call方法。 基本上發生的是我有一個繼承鏈,其中包含我正在調用的成員函數。 基本上這個電話類似於: 或在IL 基類將SomeCall定義為抽象方法,派生類實現它。 派生類是密封的。 我 ...
[英]Can PEVerify tell me the severity of each error?
我正在使用Mono.Cecil修改程序集,並且想要檢查其有效性(結果是否將完全運行)。 我正在嘗試使用PEVerify ,但是遇到了問題。 它旨在確保代碼可驗證,因此只說ERROR ,即錯誤是否意味着IL完全無效且將不會執行,還是是否會完全信任可忽略的可驗證性問題。 這里有些例子: ...
[英]Invoke developer command prompt from python
如何調用Visual Studio 2013附帶的Developer Command Prompt ,並通過python腳本在其中執行我的peverify命令。 我正在使用python 3.4。 我能夠使用subprocess在windows command prompt執行命令,但不知道如 ...
[英]peverify: Method is not visible?
我不確定我在做什么錯。 我正在生成一個在當前程序集中使用代碼的dll。 這是簡化版本,僅包含導致問題的代碼。 磨光給出: 這個錯誤是什么意思? 我做錯了什么? 謝謝! 編輯: 這是ildasm中生成的方法的樣子: ...
[英]PEVerify fails on explicit interface property when the interface is in a Portable Class Library
我正在發出一個類,該類使用get方法顯式實現簡單的接口屬性。 只要接口沒有在可移植類庫中定義,就沒有問題。 但是,將接口移至PCL並僅使用諸如IEnumerable<int>類的特定類型時,PEVerify將失敗。 查看ILDASM-> MetaInfo-> S ...
[英]peverify error “Stack depth differs depending on path”
我在.dll的Release版本上運行了peverify ,它給出了錯誤“堆棧深度取決於路徑”的錯誤: set_Action的代碼如下: 我不知道為什么此錯誤僅在發行版本中發生。 ...
[英]Why does a program with a PEVerified Stack Overflow Scenario (maxstack) Not Crash the CLR?
我可以編寫,編譯並成功運行以下IL程序,其.maxstack大小設置為1,這太低了,因為程序在一個時間點在堆棧上有兩個值(即2 + 2 == 4)。 該程序在CLR 中不崩潰,並以“Hello World”的所有預期輸出后跟數字4完成執行。 但是,該程序(正確地)不會傳遞PEVerify ...
[英]Why is this .Net IL not verifiable?
我有一些我寫的自定義IL,它不會通過PEVerify。 我得到的錯誤是 然而,該程序將運行正常,沒有任何例外。 以下是相關方法的IL: 完整的源代碼位於pastebin 為什么我收到此錯誤? ...
[英]log4net doesn't pass verification when compiling
https://github.com/apache/log4net 我正在從上面的源代碼編譯log4net,但它沒有通過驗證: [IL]:錯誤:[log4net.dll:log4net.Plugin.RemoteLoggingServerPlugin :: Attach] [of ...
[英]Can a .NET assembly be verified independently of any other assemblies it might reference?
換句話說:對於要驗證的.NET程序集,是否還需要讀取和分析任何引用的程序集? PEVerify工具有什么作用? ...
[英]Is there an API for verifying the MSIL of a dynamic assembly at runtime?
當使用Reflection.Emit在運行時構建程序集時,我想在保存到光盤之前驗證程序集MSIL。 像PEVerify一樣,但在運行時。 有這樣的API嗎? ...
[英]Why does this line cause a VerificationException when running under .NET 4?
幫幫我吧 - 為什么這個代碼在.NET 4.0下運行時會導致VerificationException? 我在.net 2.0程序集上運行peverify並得到以下消息: ImageResizer.Util.Utils :: parseEnum [T]] [offset 0x0 ...
[英]Is there a simple way to decode PEVerify errors and warnings?
鑒於PEVerify錯誤和警告 output 如下所示,如何追溯有問題的 class 和接口名稱? 假設我不是編譯器作者或 IL 魔術師。 ...