使用 .Net Reactive Extensions 进行部署

3
我们的应用程序使用了响应式扩展(Rx)。这些通常是通过从Microsoft下载的可下载包安装的。然而,当我们发布我们的应用程序时,我们会提供dll的副本(即System.CoreEx.dll和System.Reactive.dll)。在GAC中似乎有两个版本v1.0.2787.0和v1.0.2856.0。我们正在引用特定的一个并提供适当的版本。
但是,当应用程序启动时,它会抛出一个错误对话框,指出必须将Rx Dlls安装在GAC中。它还请求其他版本Rx的Dll,例如,如果您正在引用1.0.2787,则会请求1.0.2856.0,反之亦然。
有人解决了这个问题吗?
1个回答

6
Rx程序集不需要安装到全局程序集缓存(GAC),除非您的应用程序程序集已经安装在GAC中。请问您的应用程序是否需要安装在GAC中,还是可以从安装目录运行?
该引用还会请求其他版本的Rx Dlls,例如,如果您正在引用1.0.2787,则会请求1.0.2856.0,反之亦然。
很可能它实际上并没有跨Rx版本请求。您可能需要仔细检查您的解决方案(所有项目)是否都引用了正确(相同)版本的Rx程序集。

谢谢Rich - 应用程序不在GAC中。检查了所有引用相同版本的项目,问题得到解决。 :) - nadsy
1
很高兴能够帮助到您。如果您愿意,您可以点击左侧的勾选标记将该问题标记为“答案”。这样,该问题就不会显示为“未回答”。 - Richard Szalay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接