首页 > 解决方案 > 如何选择 dll

问题描述

小问题:如果从C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1 引用 dll,应用程序如何在运行时链接/找到它?(或者在没有 VS 的情况下启动)?

它是来自 GAC 还是 dll 在运行时被复制到可执行位置?

标签: c#dllruntime

解决方案


您使用 (4.6.1) 构建的框架必须安装在客户端 (GAC) 上才能运行。标准的普通 Windows 客户端/服务器。

如果您想在 EXE 中嵌入DLL,请查看Embedding DLLs in a compiled executable

我强烈推荐使用 Costura.Fody - 迄今为止在您的程序集中嵌入资源的最佳和最简单的方法。它以 NuGet 包的形式提供。

Install-Package Costura.Fody

将其添加到项目后,它会自动将复制到输出目录的所有引用嵌入到主程序集中。您可能希望通过向项目添加目标来清理嵌入文件:

Install-CleanReferencesTarget

推荐阅读