gpt4 book ai didi

.net - 是否可以在运行时创建绑定(bind)重定向?

转载 作者:行者123 更新时间:2023-12-04 17:57:29 25 4
gpt4 key购买 nike

应用程序启动后,是否有办法创建将应用于所有 future 程序集加载的绑定(bind)重定向?

最佳答案

很抱歉回复了一篇旧帖子,但这个博客对这个问题有一个更好的答案。希望有人觉得它有用。

我的用例:从由经典 ASP 应用程序调用的 COM 互操作程序集执行绑定(bind)重定向。

http://blog.slaks.net/2013-12-25/redirecting-assembly-loads-at-runtime/

相关帖子中的此功能将执行您想要的操作:

public static void RedirectAssembly(string shortName, Version targetVersion, string publicKeyToken) {
ResolveEventHandler handler = null;

handler = (sender, args) => {
// Use latest strong name & version when trying to load SDK assemblies
var requestedAssembly = new AssemblyName(args.Name);
if (requestedAssembly.Name != shortName)
return null;

Debug.WriteLine("Redirecting assembly load of " + args.Name
+ ",\tloaded by " + (args.RequestingAssembly == null ? "(unknown)" : args.RequestingAssembly.FullName));

requestedAssembly.Version = targetVersion;
requestedAssembly.SetPublicKeyToken(new AssemblyName("x, PublicKeyToken=" + publicKeyToken).GetPublicKeyToken());
requestedAssembly.CultureInfo = CultureInfo.InvariantCulture;

AppDomain.CurrentDomain.AssemblyResolve -= handler;

return Assembly.Load(requestedAssembly);
};
AppDomain.CurrentDomain.AssemblyResolve += handler;
}

关于.net - 是否可以在运行时创建绑定(bind)重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5646306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com