ilasm

    0熱度

    1回答

    我正在爲SQL Server 2008創建一個CLR程序集,該程序集僅支持.NET 2.0程序集。此外,SQL Server還需要一個強名稱密鑰,每個程序集要註冊。 我試圖創建參考json.net的.NET 2.0版(https://json.codeplex.com/)的程序集。但是,我的項目無法生成SNK文件,因爲Newtonsoft.Json.dll本身是未簽名的。 (至少,當我嘗試建立我的

    3熱度

    1回答

    ECMA-335,III.2.4指定了可用於遞歸函數的tail.前綴。但是,我無法在C#和F#代碼中找到它的用法。有沒有使用的例子?

    1熱度

    2回答

    假設我有一個ILASM庫下面的代碼: .assembly extern mscorlib{} .assembly TestMe{} .module TestMe.dll .method public static void PrintMe() cil managed { ldstr "I'm alive!" call void [mscorlib]System.Cons

    0熱度

    1回答

    所以我試圖修改Compact Framework來導出C函數。 它在Full Framework上工作正常。 這裏描述了使用的方法。 https://sites.google.com/site/robertgiesecke/Home/uploads/csharpprojecttemplateforunmanagedexports 無論如何,這個問題似乎是,如果我採取一個精簡框架Dll反彙編它,然後

    0熱度

    2回答

    我有6個需要使用我的應用程序的舊VB6 DLL。爲了讓他們在.NET領域工作,他們被轉換爲Interop DLL。 其中一個Interop DLL(稱爲Master.DLL)引用了其他5個DLL。 我想強名Master.DLL所以我用反彙編/ ILASM與.SNK文件 當我打開新強命名Master.DLL與ILDASM,並期待在清單中,它的五個引用沒有強命名,導致FileLoadException

    1熱度

    1回答

    我正在編寫一個輸出.NET程序集的編譯器(使用Mono.Cecil,儘管我不相信Cecil與此問題有關)。其中一個編譯器功能需要一個類將有一個編譯器生成的嵌套類和一些支持方法;外部類有一個靜態字段,因此每個類實際上都有一個單引用嵌套類的對象。爲了初始化,任何這樣的類都有一個類構造函數來創建嵌套類的實例並將其存儲在字段中。 問題:當我的外部類是泛型類時,我也使嵌套類通用(因爲它需要創建外部類的對象)

    1熱度

    1回答

    我正在C#中構建一個小型編譯器,因此不得不插手動態程序集併發布操作碼。現在,奇怪的是我的Emit()調用在生成的模塊中創建了額外的nop操作碼。對我而言,這並不是很重要,因爲表演並不是真正的關鍵,但它真的讓我感到困惑,爲什麼會發生這種情況。這似乎是加載或存儲到本地人或參數後發生。任何C#/動態組裝專家,可以指向我可以檢查的事情?我附上了生成的代碼示例,如果需要更多信息,請讓我知道。謝謝。 IL_0

    0熱度

    1回答

    我正在爲.NET平臺編寫一個非常基本的編譯器,並想知道我的常量實現。 在我的編譯器中,使用常量有望替代ldloc操作。 如果常量theAge(18)和theName(巴里)實際上變量中,IL可能是這樣的: ldstr "Your name is " ldloc theName concat //Example operation for concatenating ldstr " a

    2熱度

    1回答

    我正在研究新的CIL目標,並且我不太清楚如何處理調試信息。 我正在實施一個PE作家 - 所以它不依賴於ilasm。從我在ECMA文檔中看到的,有CILDB調試格式 - 但它不同於PDB和Mono的MDB。所以,如果我想包含調試信息,那麼我需要用ilasm編譯(並使用.line指令)。 但是,即使我使用ilasm進行編譯,在我看來,.line指令不足以包含足夠的調試信息以提供完整的調試功能 - 例如

    2熱度

    1回答

    我正在從IL構建一個.NET Core 2.0庫。我之前在.NET Core 1.0/1.1中完全一樣,沒有問題。但是,同樣的事情不適用於.NET Core 2.0 dll。 運行此之後: C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe /OUTPUT=output.dll /nologo /quiet /dll /resourc