将程序集合并到一个.NET标准库中

问题描述 投票:0回答:1

我将解决方案从.NET Framework重定向到.NET Framework 4.6.1和.NET Standard 2.0。我需要将程序集合并为一个。

在旧的解决方案上,我使用的是ILMerge,但是它很旧,并且不支持.NET Standard。

我尝试使用ILRepack,它对于.NET Framework效果很好,但对于.NET Standard也不起作用。

现在,我正在尝试使用Costura.Fody,但它仅在目标框架net461上运行良好:它仅在输出文件夹上生成一个DLL,大小约为4MB。但是,对于netstandard2.0netcoreapp3.0,所有程序集都被复制到输出文件夹,并且生成的DLL约为4KB,并针对.NET Framework 4.7.2。

我有一个项目(我通过NuGet在其中添加了Costura.Fody)引用了所有其他项目。它们都是类库。

感谢您的任何帮助。

.net-standard ilmerge fody fody-costura ilrepack
1个回答
0
投票

我需要有关错误或产生的结果的更多信息,但是through the documentation,您可以配置:

<ILMerge InputAssemblies="@(MergeAssemblies)"
         ...
         TargetPlatformVersion="v4.6"
         TargetPlatformDirectory="$(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6"
/>

您是否尝试过使用此线程:How do I use ILMerge with .NET 4.5 in AfterBuild?似乎是一个非常相似的问题。

否则,我可以向您推荐下一个工具:https://www.eziriz.com/downloads.htm

© www.soinside.com 2019 - 2024. All rights reserved.