我是否可以将 .NET 程序集部署到某个位置,以便所有相关程序现在只要引用该位置就可以使用它。
如果它没有内置到框架中,是否有另一种机制或方法来实现相同的目标?
我是否可以将 .NET 程序集部署到某个位置,以便所有相关程序现在只要引用该位置就可以使用它。
如果它没有内置到框架中,是否有另一种机制或方法来实现相同的目标?
是的(有点) - 但你必须自己设置。
.Net 程序可以搜索AppDomain 基目录下的指定目录。它被称为探测路径。重要的是要注意它必须在目录下。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="MySpecialPath"/>
</assemblyBinding>
</runtime>
</configuration>
因此,我们只需在应用程序目录 (MySpecialPath) 下放置一个符号链接,它就会愉快地使用中央目录。当然,因为 .net 总是首先查看 GAC - 您不能为 GAC 程序集执行此操作。
我还用它来解决旧的MS Test AppDomain 问题(我的博客)。
不。
将其部署在每个应用程序 bin 目录或具有特定版本号的 GAC 中。依赖的应用程序应该寻找那个特定的版本。