尽可能抽象:
- 有一个文件夹包含几个 dll 文件。
- 有一个应用程序使用
nlog.dll它来维护自己的日志。此应用程序通过掩码删除*.dll启动它的文件夹中的所有文件。该程序的 Nlog 使用Costura.Fody合并到一个 exe 文件中
如果您将程序放在一个文件夹中,那么一切都很好,直到文件夹中有一个文件nlog.dll- 在这种情况下,它发誓没有访问权限并且文件仍然存在。根据调度员的说法,原来这个dll是应用程序自己使用的,即使调用了NLog.old - копия (2).old.dll这个文件,这个文件也会被程序加载,不会被删除。
如何指定应使用的 dll 文件的选择?为什么即使是nlog.dll名称不太合适的文件也会被占用?
因为文件名可以更改,但必要的元数据(构建程序集的原始名称)仍将保留在内部。Richter 关于部署的章节描述了这种情况。