cost 364 ms
將IL打包到C#/ .NET Core中寫在磁盤上的程序集中嗎?

[英]Wrap IL into an assembly written on disk in C# / .NET Core?

我正在創建基於原始IL的.NET方法。 我想將獨立的新創建的方法包裝到.NET程序foo.dll ,然后將該程序集作為foo.dll文件寫入磁盤,以便將該程序集饋入PEVerify或ILVerify 。 的確,在調試大型定制IL序列時,這些工具非常寶貴。 有誰知道如何使用.NET Co ...

使用Peverify和ILVerify對不安全的c#返回類型進行驗證錯誤

[英]Verification error on unsafe c# return type using Peverify and ILVerify

我在驗證一些包含返回指針的不安全方法的代碼時遇到了這個問題。 示例可以表示為: 我使用兩個單獨的驗證工具,即ILVerify和Peverify。 重現步驟: 使用csc example.cs /t:library /unsafe編譯示例代碼 驗證peveri ...

如何確保無法驗證的.NET程序集有效?

[英]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版本在同一個地方報告相同的錯誤。 有問題的方法如下: 該錯誤報告為: ...

如何更正Stack UNDERflow錯誤

[英]How to correct Stack UNDERflow error

嘗試在我正在使用優化程序進行編譯的應用程序中執行特定過程時,出現InvalidProgramException(Visual Studio 2015)。 我使用PEVerify來了解問題所在,它告訴我“ Method [offset 0x00000351]堆棧下溢”。 顯然,我可以通過關 ...

“在簽名中非法使用'void'類型”是什么意思?

[英]What does “Illegal use of type 'void' in signature” mean?

我有一個正在生成程序集的編譯器。 當我加載程序集並嘗試在其類位於該程序集中的對象上運行方法時,它將引發異常: System.InvalidProgramException:公共語言運行時檢測到無效程序。 隨着錯誤消息的流逝,這僅與UR COMPILER SUXX0RZ LOL ...

更改callvirt以調用IL

[英]Changing callvirt to call in IL

在使用IL的一些實驗中,我試圖在程序callvirt更改callvirt調用以call方法。 基本上發生的是我有一個繼承鏈,其中包含我正在調用的成員函數。 基本上這個電話類似於: 或在IL 基類將SomeCall定義為抽象方法,派生類實現它。 派生類是密封的。 我 ...

PEVerify可以告訴我每個錯誤的嚴重性嗎?

[英]Can PEVerify tell me the severity of each error?

我正在使用Mono.Cecil修改程序集,並且想要檢查其有效性(結果是否將完全運行)。 我正在嘗試使用PEVerify ,但是遇到了問題。 它旨在確保代碼可驗證,因此只說ERROR ,即錯誤是否意味着IL完全無效且將不會執行,還是是否會完全信任可忽略的可驗證性問題。 這里有些例子: ...

從python調用開發人員命令提示符

[英]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中生成的方法的樣子: ...

2015-02-19 12:28:24   1   571    c# / il / peverify  
當接口位於可移植類庫中時,PEVerify在顯式接口屬性上失敗

[英]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的代碼如下: 我不知道為什么此錯誤僅在發行版本中發生。 ...

為什么具有PEVerified Stack Overflow Scenario(maxstack)的程序不會崩潰CLR?

[英]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 ...

為什么這個.Net IL無法驗證?

[英]Why is this .Net IL not verifiable?

我有一些我寫的自定義IL,它不會通過PEVerify。 我得到的錯誤是 然而,該程序將運行正常,沒有任何例外。 以下是相關方法的IL: 完整的源代碼位於pastebin 為什么我收到此錯誤? ...

log4net在編譯時未通過驗證

[英]log4net doesn't pass verification when compiling

https://github.com/apache/log4net 我正在從上面的源代碼編譯log4net,但它沒有通過驗證: [IL]:錯誤:[log4net.dll:log4net.Plugin.RemoteLoggingServerPlugin :: Attach] [of ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM