我用这些 dll 创建了一个备份控制台应用程序(这是在 Windows 8 64 位上的 .net 3.5 上运行的 32 位程序):
7z(native) dll 我曾尝试将它们与 ilmerge 合并,但程序在启动时仍会询问 dll(未找到 Delimon.Win32.IO)。
然后我尝试了第二个解决方案:将 dll 添加到资源并处理 AssemblyResolve 事件,仍然是同样的问题。
任何线索是什么问题?
我不想要任何商业解决方案。
我用这些 dll 创建了一个备份控制台应用程序(这是在 Windows 8 64 位上的 .net 3.5 上运行的 32 位程序):
7z(native) dll 我曾尝试将它们与 ilmerge 合并,但程序在启动时仍会询问 dll(未找到 Delimon.Win32.IO)。
然后我尝试了第二个解决方案:将 dll 添加到资源并处理 AssemblyResolve 事件,仍然是同样的问题。
任何线索是什么问题?
我不想要任何商业解决方案。
我建议使用 Costura。
https://github.com/Fody/Costura
Costura 在 NuGet 上可用,是提供自定义 AssemblyResolve 系统的简单解决方案。它将获取您所有的项目引用并在构建时自动添加它们。
此外,如果您有本机或混合模式程序集(例如 7zip),那么您需要为 Costura 提供一些配置。自述文件中涵盖了所有内容。