【发布时间】:2011-02-13 10:56:39
【问题描述】:
概述:我有兴趣了解有关 .NET4 程序集“进程内并行执行”的更多信息,并且需要更多信息来帮助我揭开它的神秘面纱。
动机:有问题的应用程序是针对 .NET2 构建的,并使用了两个也适用于 .NET2 的第三方库。该应用程序被部署(通过文件副本)到包含 .NET2 的虚拟环境中的客户端计算机。 不是我的架构,请多多包涵。
目标:查看是否可以针对 .NET4 重建应用程序程序集(或子集),并像以前一样交付应用程序,而无需更改第三方库并包括 .NET4部署中的客户端配置文件(如 here 所述)。
已采取的步骤:阅读了以下文章,但没有为我提供足够的信息:
In-Process Side-by-Side Execution:浏览了这篇文章,场景二最接近描述与我的情况相似的情况,但并没有真正深入。
ASP.NET Side-by-Side Execution Overview:本文涉及一个 Web 应用程序,但我处理的是客户端 WinForms 应用程序。
CLR Team Blog: In-Process Side-by-Side:这有助于解释.NET4下托管进程的插件如何工作,但我不知道这是否适用于第三方库。
进一步的步骤:我还不清楚如何继续将单个 .NET2 程序集升级到 .NET4,而可执行文件仍保留在 .NET2 中(即如何配置解决方案/项目文件,如果需要包含任何特殊代码等)。
【问题讨论】:
-
也许是个愚蠢的问题,但您是否尝试过在 .NET 4 CLR 中按原样运行应用程序?您是否知道第三方程序集不起作用(例如,由于混合模式代码)?在并行之前,我会尝试让所有东西都在 .NET 4 下运行。
-
忽略之前的评论。据我了解(我对此也很模糊),虚拟环境 (ThinApp) 提供了某种 .NET2 可再发行组件,而第三方库 (Crystal Reports) 则与之相反。所以,不,还没有机会,但目前正在努力——我想知道我在做什么。我认为就地升级 ThinApp 客户端会很痛苦,但我认为我们可以通过文件复制分发 .NET 客户端配置文件,而不会遇到太多问题。
-
你能定义“整体应用”吗?你是说EXE程序集吗?
标签: c# .net process assemblies .net-4.0