是否可以从 .NET 中的父文件夹引用 DLL?

Is it possible to reference DLLs from parent folders in .NET?

我们有以下situation/requirements:

这将导致以下所需的文件夹结构:

SomePath
  |- SomeProject
  |     |- DLL
  |     |- Application1
  |     \- Application2
  |
  \- OtherProject
       |- DLL
       \- ...

为了让不同的项目使用不同的版本,在GAC中注册是不可能的(是吗?)。 使用 probing private path 解决方案也不可行,因为该方法仅支持子目录,不支持父文件夹。

据我了解,Assembly.LoadFrom 可以工作,但意味着通过反射调用(或不?)替换这些库中类型的每个 new 调用,这意味着大量工作.

有没有办法在不使用反射的情况下按指定引用 DLL? IE。指定父文件夹的相对包含路径。

提示:开发机器是Windows8.1,VS 2013;目标机器是 Windows 8.1

进一步研究后回答我自己的问题:

看起来在这种情况下唯一的选择是:

  1. 将共享 DLL 部署到每个应用程序目录或
  2. 说服系统工程师没有必要将每个应用程序都放入自己的目录中。如果所有应用程序都在同一目录中,则共享 DLL 可以放在该目录或任何子目录中。如果应用程序配置数据应该分开,这仍然可以在更多的子文件夹中完成。

我们选择了方式 #2。