簡體   English   中英

如何將自 dotnet 5 以來由 AssemblyBuilder 生成的模塊保存在磁盤上?

[英]How to save on disk the module resulting from AssemblyBuilder since dotnet 5?

以下示例對於 dotnet 5.0 已過時: https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.assemblybuilder?view=net-5.0#examples

即使使用包含?view=net-5.0的查詢字符串,該示例也無法成功編譯。 我已經將其中一些過時的功能更新為新的 API。

然而,我仍然需要保存生成的模塊 (DLL) 以通過 PEVerify 或 IL Verifier 檢查 IL。

那么, AssemblyBuilder缺少的Save()方法的替代品是什么?


現在我的解決方法是在.csproj <TargetFramework>net48</TargetFramework>替換<TargetFramework>net5.0</TargetFramework> > ,但這完全是一團糟。

此外,雖然dotnet命令行工具禁止使用-f net48 ,但我們仍然可以在.csproj中手動修改,得到一個正確的工程。

目前您不能,因為該功能尚未在 .NET Core/.NET 5.0 中實現,並且可能不會在 .NET 6.0 中實現

直到或除非所述功能在 .NET 中實現, ILPack應該滿足您的要求。

關於損壞的示例,我在 GitHub 上打開了一個問題

現在我的解決方法是在.csproj <TargetFramework>net48</TargetFramework>替換<TargetFramework>net5.0</TargetFramework> > ,但這完全是一團糟。

而且,雖然dotnet命令行工具禁止使用-f net48 (即.net框架),但我們還是可以在.csproj中手動修改,得到正確的工程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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